[Pkg-javascript-devel] Bug#980657: eslint: FTBFS: test failed

Lucas Nussbaum lucas at debian.org
Wed Jan 20 20:56:50 GMT 2021


Source: eslint
Version: 5.16.0~dfsg+~4.16.8-4
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20210120 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> ln --force --symbolic --no-target-directory internal-rules \
> 	tools/eslint-plugin-internal-rules
> NODE_PATH=packages:tools bin/eslint.js --format tap --report-unused-disable-directives \
> 	 \
> 	lib conf bin tests/bin tests/lib tests/tools
> TAP version 13
> 1..686
> ok 1 - /<<PKGBUILDDIR>>/lib/api.js
> ok 2 - /<<PKGBUILDDIR>>/lib/built-in-rules-index.js
> ok 3 - /<<PKGBUILDDIR>>/lib/cli-engine.js
> ok 4 - /<<PKGBUILDDIR>>/lib/cli.js
> ok 5 - /<<PKGBUILDDIR>>/lib/code-path-analysis/code-path-analyzer.js
> ok 6 - /<<PKGBUILDDIR>>/lib/code-path-analysis/code-path-segment.js
> ok 7 - /<<PKGBUILDDIR>>/lib/code-path-analysis/code-path-state.js
> ok 8 - /<<PKGBUILDDIR>>/lib/code-path-analysis/code-path.js
> ok 9 - /<<PKGBUILDDIR>>/lib/code-path-analysis/debug-helpers.js
> ok 10 - /<<PKGBUILDDIR>>/lib/code-path-analysis/fork-context.js
> ok 11 - /<<PKGBUILDDIR>>/lib/code-path-analysis/id-generator.js
> ok 12 - /<<PKGBUILDDIR>>/lib/config.js
> ok 13 - /<<PKGBUILDDIR>>/lib/config/autoconfig.js
> ok 14 - /<<PKGBUILDDIR>>/lib/config/config-cache.js
> ok 15 - /<<PKGBUILDDIR>>/lib/config/config-file.js
> ok 16 - /<<PKGBUILDDIR>>/lib/config/config-initializer.js
> ok 17 - /<<PKGBUILDDIR>>/lib/config/config-ops.js
> ok 18 - /<<PKGBUILDDIR>>/lib/config/config-rule.js
> ok 19 - /<<PKGBUILDDIR>>/lib/config/config-validator.js
> ok 20 - /<<PKGBUILDDIR>>/lib/config/environments.js
> ok 21 - /<<PKGBUILDDIR>>/lib/config/plugins.js
> ok 22 - /<<PKGBUILDDIR>>/lib/formatters/checkstyle.js
> ok 23 - /<<PKGBUILDDIR>>/lib/formatters/codeframe.js
> ok 24 - /<<PKGBUILDDIR>>/lib/formatters/compact.js
> ok 25 - /<<PKGBUILDDIR>>/lib/formatters/html.js
> ok 26 - /<<PKGBUILDDIR>>/lib/formatters/jslint-xml.js
> ok 27 - /<<PKGBUILDDIR>>/lib/formatters/json-with-metadata.js
> ok 28 - /<<PKGBUILDDIR>>/lib/formatters/json.js
> ok 29 - /<<PKGBUILDDIR>>/lib/formatters/junit.js
> ok 30 - /<<PKGBUILDDIR>>/lib/formatters/stylish.js
> ok 31 - /<<PKGBUILDDIR>>/lib/formatters/table.js
> ok 32 - /<<PKGBUILDDIR>>/lib/formatters/tap.js
> ok 33 - /<<PKGBUILDDIR>>/lib/formatters/unix.js
> ok 34 - /<<PKGBUILDDIR>>/lib/formatters/visualstudio.js
> ok 35 - /<<PKGBUILDDIR>>/lib/linter.js
> ok 36 - /<<PKGBUILDDIR>>/lib/load-rules.js
> ok 37 - /<<PKGBUILDDIR>>/lib/options.js
> ok 38 - /<<PKGBUILDDIR>>/lib/rules.js
> ok 39 - /<<PKGBUILDDIR>>/lib/rules/accessor-pairs.js
> ok 40 - /<<PKGBUILDDIR>>/lib/rules/array-bracket-newline.js
> ok 41 - /<<PKGBUILDDIR>>/lib/rules/array-bracket-spacing.js
> ok 42 - /<<PKGBUILDDIR>>/lib/rules/array-callback-return.js
> ok 43 - /<<PKGBUILDDIR>>/lib/rules/array-element-newline.js
> ok 44 - /<<PKGBUILDDIR>>/lib/rules/arrow-body-style.js
> ok 45 - /<<PKGBUILDDIR>>/lib/rules/arrow-parens.js
> ok 46 - /<<PKGBUILDDIR>>/lib/rules/arrow-spacing.js
> ok 47 - /<<PKGBUILDDIR>>/lib/rules/block-scoped-var.js
> ok 48 - /<<PKGBUILDDIR>>/lib/rules/block-spacing.js
> ok 49 - /<<PKGBUILDDIR>>/lib/rules/brace-style.js
> ok 50 - /<<PKGBUILDDIR>>/lib/rules/callback-return.js
> ok 51 - /<<PKGBUILDDIR>>/lib/rules/camelcase.js
> ok 52 - /<<PKGBUILDDIR>>/lib/rules/capitalized-comments.js
> ok 53 - /<<PKGBUILDDIR>>/lib/rules/class-methods-use-this.js
> ok 54 - /<<PKGBUILDDIR>>/lib/rules/comma-dangle.js
> ok 55 - /<<PKGBUILDDIR>>/lib/rules/comma-spacing.js
> ok 56 - /<<PKGBUILDDIR>>/lib/rules/comma-style.js
> ok 57 - /<<PKGBUILDDIR>>/lib/rules/complexity.js
> ok 58 - /<<PKGBUILDDIR>>/lib/rules/computed-property-spacing.js
> ok 59 - /<<PKGBUILDDIR>>/lib/rules/consistent-return.js
> ok 60 - /<<PKGBUILDDIR>>/lib/rules/consistent-this.js
> ok 61 - /<<PKGBUILDDIR>>/lib/rules/constructor-super.js
> ok 62 - /<<PKGBUILDDIR>>/lib/rules/curly.js
> ok 63 - /<<PKGBUILDDIR>>/lib/rules/default-case.js
> ok 64 - /<<PKGBUILDDIR>>/lib/rules/dot-location.js
> ok 65 - /<<PKGBUILDDIR>>/lib/rules/dot-notation.js
> ok 66 - /<<PKGBUILDDIR>>/lib/rules/eol-last.js
> ok 67 - /<<PKGBUILDDIR>>/lib/rules/eqeqeq.js
> ok 68 - /<<PKGBUILDDIR>>/lib/rules/for-direction.js
> ok 69 - /<<PKGBUILDDIR>>/lib/rules/func-call-spacing.js
> ok 70 - /<<PKGBUILDDIR>>/lib/rules/func-name-matching.js
> ok 71 - /<<PKGBUILDDIR>>/lib/rules/func-names.js
> ok 72 - /<<PKGBUILDDIR>>/lib/rules/func-style.js
> ok 73 - /<<PKGBUILDDIR>>/lib/rules/function-paren-newline.js
> ok 74 - /<<PKGBUILDDIR>>/lib/rules/generator-star-spacing.js
> ok 75 - /<<PKGBUILDDIR>>/lib/rules/getter-return.js
> ok 76 - /<<PKGBUILDDIR>>/lib/rules/global-require.js
> ok 77 - /<<PKGBUILDDIR>>/lib/rules/guard-for-in.js
> ok 78 - /<<PKGBUILDDIR>>/lib/rules/handle-callback-err.js
> ok 79 - /<<PKGBUILDDIR>>/lib/rules/id-blacklist.js
> ok 80 - /<<PKGBUILDDIR>>/lib/rules/id-length.js
> ok 81 - /<<PKGBUILDDIR>>/lib/rules/id-match.js
> ok 82 - /<<PKGBUILDDIR>>/lib/rules/implicit-arrow-linebreak.js
> ok 83 - /<<PKGBUILDDIR>>/lib/rules/indent-legacy.js
> ok 84 - /<<PKGBUILDDIR>>/lib/rules/indent.js
> ok 85 - /<<PKGBUILDDIR>>/lib/rules/init-declarations.js
> ok 86 - /<<PKGBUILDDIR>>/lib/rules/jsx-quotes.js
> ok 87 - /<<PKGBUILDDIR>>/lib/rules/key-spacing.js
> ok 88 - /<<PKGBUILDDIR>>/lib/rules/keyword-spacing.js
> ok 89 - /<<PKGBUILDDIR>>/lib/rules/line-comment-position.js
> ok 90 - /<<PKGBUILDDIR>>/lib/rules/linebreak-style.js
> ok 91 - /<<PKGBUILDDIR>>/lib/rules/lines-around-comment.js
> ok 92 - /<<PKGBUILDDIR>>/lib/rules/lines-around-directive.js
> ok 93 - /<<PKGBUILDDIR>>/lib/rules/lines-between-class-members.js
> ok 94 - /<<PKGBUILDDIR>>/lib/rules/max-classes-per-file.js
> ok 95 - /<<PKGBUILDDIR>>/lib/rules/max-depth.js
> ok 96 - /<<PKGBUILDDIR>>/lib/rules/max-len.js
> ok 97 - /<<PKGBUILDDIR>>/lib/rules/max-lines-per-function.js
> ok 98 - /<<PKGBUILDDIR>>/lib/rules/max-lines.js
> ok 99 - /<<PKGBUILDDIR>>/lib/rules/max-nested-callbacks.js
> ok 100 - /<<PKGBUILDDIR>>/lib/rules/max-params.js
> ok 101 - /<<PKGBUILDDIR>>/lib/rules/max-statements-per-line.js
> ok 102 - /<<PKGBUILDDIR>>/lib/rules/max-statements.js
> ok 103 - /<<PKGBUILDDIR>>/lib/rules/multiline-comment-style.js
> ok 104 - /<<PKGBUILDDIR>>/lib/rules/multiline-ternary.js
> ok 105 - /<<PKGBUILDDIR>>/lib/rules/new-cap.js
> ok 106 - /<<PKGBUILDDIR>>/lib/rules/new-parens.js
> ok 107 - /<<PKGBUILDDIR>>/lib/rules/newline-after-var.js
> ok 108 - /<<PKGBUILDDIR>>/lib/rules/newline-before-return.js
> ok 109 - /<<PKGBUILDDIR>>/lib/rules/newline-per-chained-call.js
> ok 110 - /<<PKGBUILDDIR>>/lib/rules/no-alert.js
> ok 111 - /<<PKGBUILDDIR>>/lib/rules/no-array-constructor.js
> ok 112 - /<<PKGBUILDDIR>>/lib/rules/no-async-promise-executor.js
> ok 113 - /<<PKGBUILDDIR>>/lib/rules/no-await-in-loop.js
> ok 114 - /<<PKGBUILDDIR>>/lib/rules/no-bitwise.js
> ok 115 - /<<PKGBUILDDIR>>/lib/rules/no-buffer-constructor.js
> ok 116 - /<<PKGBUILDDIR>>/lib/rules/no-caller.js
> ok 117 - /<<PKGBUILDDIR>>/lib/rules/no-case-declarations.js
> ok 118 - /<<PKGBUILDDIR>>/lib/rules/no-catch-shadow.js
> ok 119 - /<<PKGBUILDDIR>>/lib/rules/no-class-assign.js
> ok 120 - /<<PKGBUILDDIR>>/lib/rules/no-compare-neg-zero.js
> ok 121 - /<<PKGBUILDDIR>>/lib/rules/no-cond-assign.js
> ok 122 - /<<PKGBUILDDIR>>/lib/rules/no-confusing-arrow.js
> ok 123 - /<<PKGBUILDDIR>>/lib/rules/no-console.js
> ok 124 - /<<PKGBUILDDIR>>/lib/rules/no-const-assign.js
> ok 125 - /<<PKGBUILDDIR>>/lib/rules/no-constant-condition.js
> ok 126 - /<<PKGBUILDDIR>>/lib/rules/no-continue.js
> ok 127 - /<<PKGBUILDDIR>>/lib/rules/no-control-regex.js
> ok 128 - /<<PKGBUILDDIR>>/lib/rules/no-debugger.js
> ok 129 - /<<PKGBUILDDIR>>/lib/rules/no-delete-var.js
> ok 130 - /<<PKGBUILDDIR>>/lib/rules/no-div-regex.js
> ok 131 - /<<PKGBUILDDIR>>/lib/rules/no-dupe-args.js
> ok 132 - /<<PKGBUILDDIR>>/lib/rules/no-dupe-class-members.js
> ok 133 - /<<PKGBUILDDIR>>/lib/rules/no-dupe-keys.js
> ok 134 - /<<PKGBUILDDIR>>/lib/rules/no-duplicate-case.js
> ok 135 - /<<PKGBUILDDIR>>/lib/rules/no-duplicate-imports.js
> ok 136 - /<<PKGBUILDDIR>>/lib/rules/no-else-return.js
> ok 137 - /<<PKGBUILDDIR>>/lib/rules/no-empty-character-class.js
> ok 138 - /<<PKGBUILDDIR>>/lib/rules/no-empty-function.js
> ok 139 - /<<PKGBUILDDIR>>/lib/rules/no-empty-pattern.js
> ok 140 - /<<PKGBUILDDIR>>/lib/rules/no-empty.js
> ok 141 - /<<PKGBUILDDIR>>/lib/rules/no-eq-null.js
> ok 142 - /<<PKGBUILDDIR>>/lib/rules/no-eval.js
> ok 143 - /<<PKGBUILDDIR>>/lib/rules/no-ex-assign.js
> ok 144 - /<<PKGBUILDDIR>>/lib/rules/no-extend-native.js
> ok 145 - /<<PKGBUILDDIR>>/lib/rules/no-extra-bind.js
> ok 146 - /<<PKGBUILDDIR>>/lib/rules/no-extra-boolean-cast.js
> ok 147 - /<<PKGBUILDDIR>>/lib/rules/no-extra-label.js
> ok 148 - /<<PKGBUILDDIR>>/lib/rules/no-extra-parens.js
> ok 149 - /<<PKGBUILDDIR>>/lib/rules/no-extra-semi.js
> ok 150 - /<<PKGBUILDDIR>>/lib/rules/no-fallthrough.js
> ok 151 - /<<PKGBUILDDIR>>/lib/rules/no-floating-decimal.js
> ok 152 - /<<PKGBUILDDIR>>/lib/rules/no-func-assign.js
> ok 153 - /<<PKGBUILDDIR>>/lib/rules/no-global-assign.js
> ok 154 - /<<PKGBUILDDIR>>/lib/rules/no-implicit-coercion.js
> ok 155 - /<<PKGBUILDDIR>>/lib/rules/no-implicit-globals.js
> ok 156 - /<<PKGBUILDDIR>>/lib/rules/no-implied-eval.js
> ok 157 - /<<PKGBUILDDIR>>/lib/rules/no-inline-comments.js
> ok 158 - /<<PKGBUILDDIR>>/lib/rules/no-inner-declarations.js
> ok 159 - /<<PKGBUILDDIR>>/lib/rules/no-invalid-regexp.js
> ok 160 - /<<PKGBUILDDIR>>/lib/rules/no-invalid-this.js
> ok 161 - /<<PKGBUILDDIR>>/lib/rules/no-irregular-whitespace.js
> ok 162 - /<<PKGBUILDDIR>>/lib/rules/no-iterator.js
> ok 163 - /<<PKGBUILDDIR>>/lib/rules/no-label-var.js
> ok 164 - /<<PKGBUILDDIR>>/lib/rules/no-labels.js
> ok 165 - /<<PKGBUILDDIR>>/lib/rules/no-lone-blocks.js
> ok 166 - /<<PKGBUILDDIR>>/lib/rules/no-lonely-if.js
> ok 167 - /<<PKGBUILDDIR>>/lib/rules/no-loop-func.js
> ok 168 - /<<PKGBUILDDIR>>/lib/rules/no-magic-numbers.js
> ok 169 - /<<PKGBUILDDIR>>/lib/rules/no-misleading-character-class.js
> ok 170 - /<<PKGBUILDDIR>>/lib/rules/no-mixed-operators.js
> ok 171 - /<<PKGBUILDDIR>>/lib/rules/no-mixed-requires.js
> ok 172 - /<<PKGBUILDDIR>>/lib/rules/no-mixed-spaces-and-tabs.js
> ok 173 - /<<PKGBUILDDIR>>/lib/rules/no-multi-assign.js
> ok 174 - /<<PKGBUILDDIR>>/lib/rules/no-multi-spaces.js
> ok 175 - /<<PKGBUILDDIR>>/lib/rules/no-multi-str.js
> ok 176 - /<<PKGBUILDDIR>>/lib/rules/no-multiple-empty-lines.js
> ok 177 - /<<PKGBUILDDIR>>/lib/rules/no-native-reassign.js
> ok 178 - /<<PKGBUILDDIR>>/lib/rules/no-negated-condition.js
> ok 179 - /<<PKGBUILDDIR>>/lib/rules/no-negated-in-lhs.js
> ok 180 - /<<PKGBUILDDIR>>/lib/rules/no-nested-ternary.js
> ok 181 - /<<PKGBUILDDIR>>/lib/rules/no-new-func.js
> ok 182 - /<<PKGBUILDDIR>>/lib/rules/no-new-object.js
> ok 183 - /<<PKGBUILDDIR>>/lib/rules/no-new-require.js
> ok 184 - /<<PKGBUILDDIR>>/lib/rules/no-new-symbol.js
> ok 185 - /<<PKGBUILDDIR>>/lib/rules/no-new-wrappers.js
> ok 186 - /<<PKGBUILDDIR>>/lib/rules/no-new.js
> ok 187 - /<<PKGBUILDDIR>>/lib/rules/no-obj-calls.js
> ok 188 - /<<PKGBUILDDIR>>/lib/rules/no-octal-escape.js
> ok 189 - /<<PKGBUILDDIR>>/lib/rules/no-octal.js
> ok 190 - /<<PKGBUILDDIR>>/lib/rules/no-param-reassign.js
> ok 191 - /<<PKGBUILDDIR>>/lib/rules/no-path-concat.js
> ok 192 - /<<PKGBUILDDIR>>/lib/rules/no-plusplus.js
> ok 193 - /<<PKGBUILDDIR>>/lib/rules/no-process-env.js
> ok 194 - /<<PKGBUILDDIR>>/lib/rules/no-process-exit.js
> ok 195 - /<<PKGBUILDDIR>>/lib/rules/no-proto.js
> ok 196 - /<<PKGBUILDDIR>>/lib/rules/no-prototype-builtins.js
> ok 197 - /<<PKGBUILDDIR>>/lib/rules/no-redeclare.js
> ok 198 - /<<PKGBUILDDIR>>/lib/rules/no-regex-spaces.js
> ok 199 - /<<PKGBUILDDIR>>/lib/rules/no-restricted-globals.js
> ok 200 - /<<PKGBUILDDIR>>/lib/rules/no-restricted-imports.js
> ok 201 - /<<PKGBUILDDIR>>/lib/rules/no-restricted-modules.js
> ok 202 - /<<PKGBUILDDIR>>/lib/rules/no-restricted-properties.js
> ok 203 - /<<PKGBUILDDIR>>/lib/rules/no-restricted-syntax.js
> ok 204 - /<<PKGBUILDDIR>>/lib/rules/no-return-assign.js
> ok 205 - /<<PKGBUILDDIR>>/lib/rules/no-return-await.js
> ok 206 - /<<PKGBUILDDIR>>/lib/rules/no-script-url.js
> ok 207 - /<<PKGBUILDDIR>>/lib/rules/no-self-assign.js
> ok 208 - /<<PKGBUILDDIR>>/lib/rules/no-self-compare.js
> ok 209 - /<<PKGBUILDDIR>>/lib/rules/no-sequences.js
> ok 210 - /<<PKGBUILDDIR>>/lib/rules/no-shadow-restricted-names.js
> ok 211 - /<<PKGBUILDDIR>>/lib/rules/no-shadow.js
> ok 212 - /<<PKGBUILDDIR>>/lib/rules/no-spaced-func.js
> ok 213 - /<<PKGBUILDDIR>>/lib/rules/no-sparse-arrays.js
> ok 214 - /<<PKGBUILDDIR>>/lib/rules/no-sync.js
> ok 215 - /<<PKGBUILDDIR>>/lib/rules/no-tabs.js
> ok 216 - /<<PKGBUILDDIR>>/lib/rules/no-template-curly-in-string.js
> ok 217 - /<<PKGBUILDDIR>>/lib/rules/no-ternary.js
> ok 218 - /<<PKGBUILDDIR>>/lib/rules/no-this-before-super.js
> ok 219 - /<<PKGBUILDDIR>>/lib/rules/no-throw-literal.js
> ok 220 - /<<PKGBUILDDIR>>/lib/rules/no-trailing-spaces.js
> ok 221 - /<<PKGBUILDDIR>>/lib/rules/no-undef-init.js
> ok 222 - /<<PKGBUILDDIR>>/lib/rules/no-undef.js
> ok 223 - /<<PKGBUILDDIR>>/lib/rules/no-undefined.js
> ok 224 - /<<PKGBUILDDIR>>/lib/rules/no-underscore-dangle.js
> ok 225 - /<<PKGBUILDDIR>>/lib/rules/no-unexpected-multiline.js
> ok 226 - /<<PKGBUILDDIR>>/lib/rules/no-unmodified-loop-condition.js
> ok 227 - /<<PKGBUILDDIR>>/lib/rules/no-unneeded-ternary.js
> ok 228 - /<<PKGBUILDDIR>>/lib/rules/no-unreachable.js
> ok 229 - /<<PKGBUILDDIR>>/lib/rules/no-unsafe-finally.js
> ok 230 - /<<PKGBUILDDIR>>/lib/rules/no-unsafe-negation.js
> ok 231 - /<<PKGBUILDDIR>>/lib/rules/no-unused-expressions.js
> ok 232 - /<<PKGBUILDDIR>>/lib/rules/no-unused-labels.js
> ok 233 - /<<PKGBUILDDIR>>/lib/rules/no-unused-vars.js
> ok 234 - /<<PKGBUILDDIR>>/lib/rules/no-use-before-define.js
> ok 235 - /<<PKGBUILDDIR>>/lib/rules/no-useless-call.js
> ok 236 - /<<PKGBUILDDIR>>/lib/rules/no-useless-catch.js
> ok 237 - /<<PKGBUILDDIR>>/lib/rules/no-useless-computed-key.js
> ok 238 - /<<PKGBUILDDIR>>/lib/rules/no-useless-concat.js
> ok 239 - /<<PKGBUILDDIR>>/lib/rules/no-useless-constructor.js
> ok 240 - /<<PKGBUILDDIR>>/lib/rules/no-useless-escape.js
> ok 241 - /<<PKGBUILDDIR>>/lib/rules/no-useless-rename.js
> ok 242 - /<<PKGBUILDDIR>>/lib/rules/no-useless-return.js
> ok 243 - /<<PKGBUILDDIR>>/lib/rules/no-var.js
> ok 244 - /<<PKGBUILDDIR>>/lib/rules/no-void.js
> ok 245 - /<<PKGBUILDDIR>>/lib/rules/no-warning-comments.js
> ok 246 - /<<PKGBUILDDIR>>/lib/rules/no-whitespace-before-property.js
> ok 247 - /<<PKGBUILDDIR>>/lib/rules/no-with.js
> ok 248 - /<<PKGBUILDDIR>>/lib/rules/nonblock-statement-body-position.js
> ok 249 - /<<PKGBUILDDIR>>/lib/rules/object-curly-newline.js
> ok 250 - /<<PKGBUILDDIR>>/lib/rules/object-curly-spacing.js
> ok 251 - /<<PKGBUILDDIR>>/lib/rules/object-property-newline.js
> ok 252 - /<<PKGBUILDDIR>>/lib/rules/object-shorthand.js
> ok 253 - /<<PKGBUILDDIR>>/lib/rules/one-var-declaration-per-line.js
> ok 254 - /<<PKGBUILDDIR>>/lib/rules/one-var.js
> ok 255 - /<<PKGBUILDDIR>>/lib/rules/operator-assignment.js
> ok 256 - /<<PKGBUILDDIR>>/lib/rules/operator-linebreak.js
> ok 257 - /<<PKGBUILDDIR>>/lib/rules/padded-blocks.js
> ok 258 - /<<PKGBUILDDIR>>/lib/rules/padding-line-between-statements.js
> ok 259 - /<<PKGBUILDDIR>>/lib/rules/prefer-arrow-callback.js
> ok 260 - /<<PKGBUILDDIR>>/lib/rules/prefer-const.js
> ok 261 - /<<PKGBUILDDIR>>/lib/rules/prefer-destructuring.js
> ok 262 - /<<PKGBUILDDIR>>/lib/rules/prefer-named-capture-group.js
> ok 263 - /<<PKGBUILDDIR>>/lib/rules/prefer-numeric-literals.js
> ok 264 - /<<PKGBUILDDIR>>/lib/rules/prefer-object-spread.js
> ok 265 - /<<PKGBUILDDIR>>/lib/rules/prefer-promise-reject-errors.js
> ok 266 - /<<PKGBUILDDIR>>/lib/rules/prefer-reflect.js
> ok 267 - /<<PKGBUILDDIR>>/lib/rules/prefer-rest-params.js
> ok 268 - /<<PKGBUILDDIR>>/lib/rules/prefer-spread.js
> ok 269 - /<<PKGBUILDDIR>>/lib/rules/prefer-template.js
> ok 270 - /<<PKGBUILDDIR>>/lib/rules/quote-props.js
> ok 271 - /<<PKGBUILDDIR>>/lib/rules/quotes.js
> ok 272 - /<<PKGBUILDDIR>>/lib/rules/radix.js
> ok 273 - /<<PKGBUILDDIR>>/lib/rules/require-atomic-updates.js
> ok 274 - /<<PKGBUILDDIR>>/lib/rules/require-await.js
> ok 275 - /<<PKGBUILDDIR>>/lib/rules/require-jsdoc.js
> ok 276 - /<<PKGBUILDDIR>>/lib/rules/require-unicode-regexp.js
> ok 277 - /<<PKGBUILDDIR>>/lib/rules/require-yield.js
> ok 278 - /<<PKGBUILDDIR>>/lib/rules/rest-spread-spacing.js
> ok 279 - /<<PKGBUILDDIR>>/lib/rules/semi-spacing.js
> ok 280 - /<<PKGBUILDDIR>>/lib/rules/semi-style.js
> ok 281 - /<<PKGBUILDDIR>>/lib/rules/semi.js
> ok 282 - /<<PKGBUILDDIR>>/lib/rules/sort-imports.js
> ok 283 - /<<PKGBUILDDIR>>/lib/rules/sort-keys.js
> ok 284 - /<<PKGBUILDDIR>>/lib/rules/sort-vars.js
> ok 285 - /<<PKGBUILDDIR>>/lib/rules/space-before-blocks.js
> ok 286 - /<<PKGBUILDDIR>>/lib/rules/space-before-function-paren.js
> ok 287 - /<<PKGBUILDDIR>>/lib/rules/space-in-parens.js
> ok 288 - /<<PKGBUILDDIR>>/lib/rules/space-infix-ops.js
> ok 289 - /<<PKGBUILDDIR>>/lib/rules/space-unary-ops.js
> ok 290 - /<<PKGBUILDDIR>>/lib/rules/spaced-comment.js
> ok 291 - /<<PKGBUILDDIR>>/lib/rules/strict.js
> ok 292 - /<<PKGBUILDDIR>>/lib/rules/switch-colon-spacing.js
> ok 293 - /<<PKGBUILDDIR>>/lib/rules/symbol-description.js
> ok 294 - /<<PKGBUILDDIR>>/lib/rules/template-curly-spacing.js
> ok 295 - /<<PKGBUILDDIR>>/lib/rules/template-tag-spacing.js
> ok 296 - /<<PKGBUILDDIR>>/lib/rules/unicode-bom.js
> ok 297 - /<<PKGBUILDDIR>>/lib/rules/use-isnan.js
> ok 298 - /<<PKGBUILDDIR>>/lib/rules/valid-jsdoc.js
> ok 299 - /<<PKGBUILDDIR>>/lib/rules/valid-typeof.js
> ok 300 - /<<PKGBUILDDIR>>/lib/rules/vars-on-top.js
> ok 301 - /<<PKGBUILDDIR>>/lib/rules/wrap-iife.js
> ok 302 - /<<PKGBUILDDIR>>/lib/rules/wrap-regex.js
> ok 303 - /<<PKGBUILDDIR>>/lib/rules/yield-star-spacing.js
> ok 304 - /<<PKGBUILDDIR>>/lib/rules/yoda.js
> ok 305 - /<<PKGBUILDDIR>>/lib/testers/rule-tester.js
> ok 306 - /<<PKGBUILDDIR>>/lib/token-store/backward-token-comment-cursor.js
> ok 307 - /<<PKGBUILDDIR>>/lib/token-store/backward-token-cursor.js
> ok 308 - /<<PKGBUILDDIR>>/lib/token-store/cursor.js
> ok 309 - /<<PKGBUILDDIR>>/lib/token-store/cursors.js
> ok 310 - /<<PKGBUILDDIR>>/lib/token-store/decorative-cursor.js
> ok 311 - /<<PKGBUILDDIR>>/lib/token-store/filter-cursor.js
> ok 312 - /<<PKGBUILDDIR>>/lib/token-store/forward-token-comment-cursor.js
> ok 313 - /<<PKGBUILDDIR>>/lib/token-store/forward-token-cursor.js
> ok 314 - /<<PKGBUILDDIR>>/lib/token-store/index.js
> ok 315 - /<<PKGBUILDDIR>>/lib/token-store/limit-cursor.js
> ok 316 - /<<PKGBUILDDIR>>/lib/token-store/padded-token-cursor.js
> ok 317 - /<<PKGBUILDDIR>>/lib/token-store/skip-cursor.js
> ok 318 - /<<PKGBUILDDIR>>/lib/token-store/utils.js
> ok 319 - /<<PKGBUILDDIR>>/lib/util/ajv.js
> ok 320 - /<<PKGBUILDDIR>>/lib/util/apply-disable-directives.js
> ok 321 - /<<PKGBUILDDIR>>/lib/util/ast-utils.js
> ok 322 - /<<PKGBUILDDIR>>/lib/util/config-comment-parser.js
> ok 323 - /<<PKGBUILDDIR>>/lib/util/file-finder.js
> ok 324 - /<<PKGBUILDDIR>>/lib/util/fix-tracker.js
> ok 325 - /<<PKGBUILDDIR>>/lib/util/glob-utils.js
> ok 326 - /<<PKGBUILDDIR>>/lib/util/glob.js
> ok 327 - /<<PKGBUILDDIR>>/lib/util/hash.js
> ok 328 - /<<PKGBUILDDIR>>/lib/util/ignored-paths.js
> ok 329 - /<<PKGBUILDDIR>>/lib/util/interpolate.js
> ok 330 - /<<PKGBUILDDIR>>/lib/util/keywords.js
> ok 331 - /<<PKGBUILDDIR>>/lib/util/lint-result-cache.js
> ok 332 - /<<PKGBUILDDIR>>/lib/util/logging.js
> ok 333 - /<<PKGBUILDDIR>>/lib/util/module-resolver.js
> ok 334 - /<<PKGBUILDDIR>>/lib/util/naming.js
> ok 335 - /<<PKGBUILDDIR>>/lib/util/node-event-generator.js
> ok 336 - /<<PKGBUILDDIR>>/lib/util/npm-utils.js
> ok 337 - /<<PKGBUILDDIR>>/lib/util/path-utils.js
> ok 338 - /<<PKGBUILDDIR>>/lib/util/report-translator.js
> ok 339 - /<<PKGBUILDDIR>>/lib/util/rule-fixer.js
> ok 340 - /<<PKGBUILDDIR>>/lib/util/safe-emitter.js
> ok 341 - /<<PKGBUILDDIR>>/lib/util/source-code-fixer.js
> ok 342 - /<<PKGBUILDDIR>>/lib/util/source-code-utils.js
> ok 343 - /<<PKGBUILDDIR>>/lib/util/source-code.js
> ok 344 - /<<PKGBUILDDIR>>/lib/util/timing.js
> ok 345 - /<<PKGBUILDDIR>>/lib/util/traverser.js
> ok 346 - /<<PKGBUILDDIR>>/lib/util/unicode/index.js
> ok 347 - /<<PKGBUILDDIR>>/lib/util/unicode/is-emoji-modifier.js
> ok 348 - /<<PKGBUILDDIR>>/lib/util/unicode/is-regional-indicator-symbol.js
> ok 349 - /<<PKGBUILDDIR>>/lib/util/unicode/is-surrogate-pair.js
> ok 350 - /<<PKGBUILDDIR>>/lib/util/xml-escape.js
> ok 351 - /<<PKGBUILDDIR>>/conf/config-schema.js
> ok 352 - /<<PKGBUILDDIR>>/conf/default-cli-options.js
> ok 353 - /<<PKGBUILDDIR>>/conf/environments.js
> ok 354 - /<<PKGBUILDDIR>>/conf/eslint-all.js
> ok 355 - /<<PKGBUILDDIR>>/conf/eslint-recommended.js
> ok 356 - /<<PKGBUILDDIR>>/bin/eslint.js
> ok 357 - /<<PKGBUILDDIR>>/tests/bin/eslint.js
> ok 358 - /<<PKGBUILDDIR>>/tests/lib/api.js
> ok 359 - /<<PKGBUILDDIR>>/tests/lib/cli-engine.js
> ok 360 - /<<PKGBUILDDIR>>/tests/lib/cli.js
> ok 361 - /<<PKGBUILDDIR>>/tests/lib/code-path-analysis/code-path-analyzer.js
> ok 362 - /<<PKGBUILDDIR>>/tests/lib/code-path-analysis/code-path.js
> ok 363 - /<<PKGBUILDDIR>>/tests/lib/config.js
> ok 364 - /<<PKGBUILDDIR>>/tests/lib/config/autoconfig.js
> ok 365 - /<<PKGBUILDDIR>>/tests/lib/config/config-file.js
> ok 366 - /<<PKGBUILDDIR>>/tests/lib/config/config-initializer.js
> ok 367 - /<<PKGBUILDDIR>>/tests/lib/config/config-ops.js
> ok 368 - /<<PKGBUILDDIR>>/tests/lib/config/config-rule.js
> ok 369 - /<<PKGBUILDDIR>>/tests/lib/config/config-validator.js
> ok 370 - /<<PKGBUILDDIR>>/tests/lib/config/environments.js
> ok 371 - /<<PKGBUILDDIR>>/tests/lib/config/plugins.js
> ok 372 - /<<PKGBUILDDIR>>/tests/lib/formatters/checkstyle.js
> ok 373 - /<<PKGBUILDDIR>>/tests/lib/formatters/codeframe.js
> ok 374 - /<<PKGBUILDDIR>>/tests/lib/formatters/compact.js
> ok 375 - /<<PKGBUILDDIR>>/tests/lib/formatters/html.js
> ok 376 - /<<PKGBUILDDIR>>/tests/lib/formatters/jslint-xml.js
> ok 377 - /<<PKGBUILDDIR>>/tests/lib/formatters/json-with-metadata.js
> ok 378 - /<<PKGBUILDDIR>>/tests/lib/formatters/json.js
> ok 379 - /<<PKGBUILDDIR>>/tests/lib/formatters/junit.js
> ok 380 - /<<PKGBUILDDIR>>/tests/lib/formatters/stylish.js
> ok 381 - /<<PKGBUILDDIR>>/tests/lib/formatters/table.js
> ok 382 - /<<PKGBUILDDIR>>/tests/lib/formatters/tap.js
> ok 383 - /<<PKGBUILDDIR>>/tests/lib/formatters/unix.js
> ok 384 - /<<PKGBUILDDIR>>/tests/lib/formatters/visualstudio.js
> ok 385 - /<<PKGBUILDDIR>>/tests/lib/linter.js
> ok 386 - /<<PKGBUILDDIR>>/tests/lib/load-rules.js
> ok 387 - /<<PKGBUILDDIR>>/tests/lib/options.js
> ok 388 - /<<PKGBUILDDIR>>/tests/lib/rules.js
> ok 389 - /<<PKGBUILDDIR>>/tests/lib/rules/_set-default-parser.js
> ok 390 - /<<PKGBUILDDIR>>/tests/lib/rules/_utils.js
> ok 391 - /<<PKGBUILDDIR>>/tests/lib/rules/accessor-pairs.js
> ok 392 - /<<PKGBUILDDIR>>/tests/lib/rules/array-bracket-newline.js
> ok 393 - /<<PKGBUILDDIR>>/tests/lib/rules/array-bracket-spacing.js
> ok 394 - /<<PKGBUILDDIR>>/tests/lib/rules/array-callback-return.js
> ok 395 - /<<PKGBUILDDIR>>/tests/lib/rules/array-element-newline.js
> ok 396 - /<<PKGBUILDDIR>>/tests/lib/rules/arrow-body-style.js
> ok 397 - /<<PKGBUILDDIR>>/tests/lib/rules/arrow-parens.js
> ok 398 - /<<PKGBUILDDIR>>/tests/lib/rules/arrow-spacing.js
> ok 399 - /<<PKGBUILDDIR>>/tests/lib/rules/block-scoped-var.js
> ok 400 - /<<PKGBUILDDIR>>/tests/lib/rules/block-spacing.js
> ok 401 - /<<PKGBUILDDIR>>/tests/lib/rules/brace-style.js
> ok 402 - /<<PKGBUILDDIR>>/tests/lib/rules/callback-return.js
> ok 403 - /<<PKGBUILDDIR>>/tests/lib/rules/camelcase.js
> ok 404 - /<<PKGBUILDDIR>>/tests/lib/rules/capitalized-comments.js
> ok 405 - /<<PKGBUILDDIR>>/tests/lib/rules/class-methods-use-this.js
> ok 406 - /<<PKGBUILDDIR>>/tests/lib/rules/comma-dangle.js
> ok 407 - /<<PKGBUILDDIR>>/tests/lib/rules/comma-spacing.js
> ok 408 - /<<PKGBUILDDIR>>/tests/lib/rules/comma-style.js
> ok 409 - /<<PKGBUILDDIR>>/tests/lib/rules/complexity.js
> ok 410 - /<<PKGBUILDDIR>>/tests/lib/rules/computed-property-spacing.js
> ok 411 - /<<PKGBUILDDIR>>/tests/lib/rules/consistent-return.js
> ok 412 - /<<PKGBUILDDIR>>/tests/lib/rules/consistent-this.js
> ok 413 - /<<PKGBUILDDIR>>/tests/lib/rules/constructor-super.js
> ok 414 - /<<PKGBUILDDIR>>/tests/lib/rules/curly.js
> ok 415 - /<<PKGBUILDDIR>>/tests/lib/rules/default-case.js
> ok 416 - /<<PKGBUILDDIR>>/tests/lib/rules/dot-location.js
> ok 417 - /<<PKGBUILDDIR>>/tests/lib/rules/dot-notation.js
> ok 418 - /<<PKGBUILDDIR>>/tests/lib/rules/eol-last.js
> ok 419 - /<<PKGBUILDDIR>>/tests/lib/rules/eqeqeq.js
> ok 420 - /<<PKGBUILDDIR>>/tests/lib/rules/for-direction.js
> ok 421 - /<<PKGBUILDDIR>>/tests/lib/rules/func-call-spacing.js
> ok 422 - /<<PKGBUILDDIR>>/tests/lib/rules/func-name-matching.js
> ok 423 - /<<PKGBUILDDIR>>/tests/lib/rules/func-names.js
> ok 424 - /<<PKGBUILDDIR>>/tests/lib/rules/func-style.js
> ok 425 - /<<PKGBUILDDIR>>/tests/lib/rules/function-paren-newline.js
> ok 426 - /<<PKGBUILDDIR>>/tests/lib/rules/generator-star-spacing.js
> ok 427 - /<<PKGBUILDDIR>>/tests/lib/rules/getter-return.js
> ok 428 - /<<PKGBUILDDIR>>/tests/lib/rules/global-require.js
> ok 429 - /<<PKGBUILDDIR>>/tests/lib/rules/guard-for-in.js
> ok 430 - /<<PKGBUILDDIR>>/tests/lib/rules/handle-callback-err.js
> ok 431 - /<<PKGBUILDDIR>>/tests/lib/rules/id-blacklist.js
> ok 432 - /<<PKGBUILDDIR>>/tests/lib/rules/id-length.js
> ok 433 - /<<PKGBUILDDIR>>/tests/lib/rules/id-match.js
> ok 434 - /<<PKGBUILDDIR>>/tests/lib/rules/implicit-arrow-linebreak.js
> ok 435 - /<<PKGBUILDDIR>>/tests/lib/rules/indent-legacy.js
> ok 436 - /<<PKGBUILDDIR>>/tests/lib/rules/indent.js
> ok 437 - /<<PKGBUILDDIR>>/tests/lib/rules/init-declarations.js
> ok 438 - /<<PKGBUILDDIR>>/tests/lib/rules/jsx-quotes.js
> ok 439 - /<<PKGBUILDDIR>>/tests/lib/rules/key-spacing.js
> ok 440 - /<<PKGBUILDDIR>>/tests/lib/rules/keyword-spacing.js
> ok 441 - /<<PKGBUILDDIR>>/tests/lib/rules/line-comment-position.js
> ok 442 - /<<PKGBUILDDIR>>/tests/lib/rules/linebreak-style.js
> ok 443 - /<<PKGBUILDDIR>>/tests/lib/rules/lines-around-comment.js
> ok 444 - /<<PKGBUILDDIR>>/tests/lib/rules/lines-around-directive.js
> ok 445 - /<<PKGBUILDDIR>>/tests/lib/rules/lines-between-class-members.js
> ok 446 - /<<PKGBUILDDIR>>/tests/lib/rules/max-classes-per-file.js
> ok 447 - /<<PKGBUILDDIR>>/tests/lib/rules/max-depth.js
> ok 448 - /<<PKGBUILDDIR>>/tests/lib/rules/max-len.js
> ok 449 - /<<PKGBUILDDIR>>/tests/lib/rules/max-lines-per-function.js
> ok 450 - /<<PKGBUILDDIR>>/tests/lib/rules/max-lines.js
> ok 451 - /<<PKGBUILDDIR>>/tests/lib/rules/max-nested-callbacks.js
> ok 452 - /<<PKGBUILDDIR>>/tests/lib/rules/max-params.js
> ok 453 - /<<PKGBUILDDIR>>/tests/lib/rules/max-statements-per-line.js
> ok 454 - /<<PKGBUILDDIR>>/tests/lib/rules/max-statements.js
> ok 455 - /<<PKGBUILDDIR>>/tests/lib/rules/multiline-comment-style.js
> ok 456 - /<<PKGBUILDDIR>>/tests/lib/rules/multiline-ternary.js
> ok 457 - /<<PKGBUILDDIR>>/tests/lib/rules/new-cap.js
> ok 458 - /<<PKGBUILDDIR>>/tests/lib/rules/new-parens.js
> ok 459 - /<<PKGBUILDDIR>>/tests/lib/rules/newline-after-var.js
> ok 460 - /<<PKGBUILDDIR>>/tests/lib/rules/newline-before-return.js
> ok 461 - /<<PKGBUILDDIR>>/tests/lib/rules/newline-per-chained-call.js
> ok 462 - /<<PKGBUILDDIR>>/tests/lib/rules/no-alert.js
> ok 463 - /<<PKGBUILDDIR>>/tests/lib/rules/no-array-constructor.js
> ok 464 - /<<PKGBUILDDIR>>/tests/lib/rules/no-async-promise-executor.js
> ok 465 - /<<PKGBUILDDIR>>/tests/lib/rules/no-await-in-loop.js
> ok 466 - /<<PKGBUILDDIR>>/tests/lib/rules/no-bitwise.js
> ok 467 - /<<PKGBUILDDIR>>/tests/lib/rules/no-buffer-constructor.js
> ok 468 - /<<PKGBUILDDIR>>/tests/lib/rules/no-caller.js
> ok 469 - /<<PKGBUILDDIR>>/tests/lib/rules/no-case-declarations.js
> ok 470 - /<<PKGBUILDDIR>>/tests/lib/rules/no-catch-shadow.js
> ok 471 - /<<PKGBUILDDIR>>/tests/lib/rules/no-class-assign.js
> ok 472 - /<<PKGBUILDDIR>>/tests/lib/rules/no-compare-neg-zero.js
> ok 473 - /<<PKGBUILDDIR>>/tests/lib/rules/no-cond-assign.js
> ok 474 - /<<PKGBUILDDIR>>/tests/lib/rules/no-confusing-arrow.js
> ok 475 - /<<PKGBUILDDIR>>/tests/lib/rules/no-console.js
> ok 476 - /<<PKGBUILDDIR>>/tests/lib/rules/no-const-assign.js
> ok 477 - /<<PKGBUILDDIR>>/tests/lib/rules/no-constant-condition.js
> ok 478 - /<<PKGBUILDDIR>>/tests/lib/rules/no-continue.js
> ok 479 - /<<PKGBUILDDIR>>/tests/lib/rules/no-control-regex.js
> ok 480 - /<<PKGBUILDDIR>>/tests/lib/rules/no-debugger.js
> ok 481 - /<<PKGBUILDDIR>>/tests/lib/rules/no-delete-var.js
> ok 482 - /<<PKGBUILDDIR>>/tests/lib/rules/no-div-regex.js
> ok 483 - /<<PKGBUILDDIR>>/tests/lib/rules/no-dupe-args.js
> ok 484 - /<<PKGBUILDDIR>>/tests/lib/rules/no-dupe-class-members.js
> ok 485 - /<<PKGBUILDDIR>>/tests/lib/rules/no-dupe-keys.js
> ok 486 - /<<PKGBUILDDIR>>/tests/lib/rules/no-duplicate-case.js
> ok 487 - /<<PKGBUILDDIR>>/tests/lib/rules/no-duplicate-imports.js
> ok 488 - /<<PKGBUILDDIR>>/tests/lib/rules/no-else-return.js
> ok 489 - /<<PKGBUILDDIR>>/tests/lib/rules/no-empty-character-class.js
> ok 490 - /<<PKGBUILDDIR>>/tests/lib/rules/no-empty-function.js
> ok 491 - /<<PKGBUILDDIR>>/tests/lib/rules/no-empty-pattern.js
> ok 492 - /<<PKGBUILDDIR>>/tests/lib/rules/no-empty.js
> ok 493 - /<<PKGBUILDDIR>>/tests/lib/rules/no-eq-null.js
> ok 494 - /<<PKGBUILDDIR>>/tests/lib/rules/no-eval.js
> ok 495 - /<<PKGBUILDDIR>>/tests/lib/rules/no-ex-assign.js
> ok 496 - /<<PKGBUILDDIR>>/tests/lib/rules/no-extend-native.js
> ok 497 - /<<PKGBUILDDIR>>/tests/lib/rules/no-extra-bind.js
> ok 498 - /<<PKGBUILDDIR>>/tests/lib/rules/no-extra-boolean-cast.js
> ok 499 - /<<PKGBUILDDIR>>/tests/lib/rules/no-extra-label.js
> ok 500 - /<<PKGBUILDDIR>>/tests/lib/rules/no-extra-parens.js
> ok 501 - /<<PKGBUILDDIR>>/tests/lib/rules/no-extra-semi.js
> ok 502 - /<<PKGBUILDDIR>>/tests/lib/rules/no-fallthrough.js
> ok 503 - /<<PKGBUILDDIR>>/tests/lib/rules/no-floating-decimal.js
> ok 504 - /<<PKGBUILDDIR>>/tests/lib/rules/no-func-assign.js
> ok 505 - /<<PKGBUILDDIR>>/tests/lib/rules/no-global-assign.js
> ok 506 - /<<PKGBUILDDIR>>/tests/lib/rules/no-implicit-coercion.js
> ok 507 - /<<PKGBUILDDIR>>/tests/lib/rules/no-implicit-globals.js
> ok 508 - /<<PKGBUILDDIR>>/tests/lib/rules/no-implied-eval.js
> ok 509 - /<<PKGBUILDDIR>>/tests/lib/rules/no-inline-comments.js
> ok 510 - /<<PKGBUILDDIR>>/tests/lib/rules/no-inner-declarations.js
> ok 511 - /<<PKGBUILDDIR>>/tests/lib/rules/no-invalid-regexp.js
> ok 512 - /<<PKGBUILDDIR>>/tests/lib/rules/no-invalid-this.js
> ok 513 - /<<PKGBUILDDIR>>/tests/lib/rules/no-irregular-whitespace.js
> ok 514 - /<<PKGBUILDDIR>>/tests/lib/rules/no-iterator.js
> ok 515 - /<<PKGBUILDDIR>>/tests/lib/rules/no-label-var.js
> ok 516 - /<<PKGBUILDDIR>>/tests/lib/rules/no-labels.js
> ok 517 - /<<PKGBUILDDIR>>/tests/lib/rules/no-lone-blocks.js
> ok 518 - /<<PKGBUILDDIR>>/tests/lib/rules/no-lonely-if.js
> ok 519 - /<<PKGBUILDDIR>>/tests/lib/rules/no-loop-func.js
> ok 520 - /<<PKGBUILDDIR>>/tests/lib/rules/no-magic-numbers.js
> ok 521 - /<<PKGBUILDDIR>>/tests/lib/rules/no-misleading-character-class.js
> ok 522 - /<<PKGBUILDDIR>>/tests/lib/rules/no-mixed-operators.js
> ok 523 - /<<PKGBUILDDIR>>/tests/lib/rules/no-mixed-requires.js
> ok 524 - /<<PKGBUILDDIR>>/tests/lib/rules/no-mixed-spaces-and-tabs.js
> ok 525 - /<<PKGBUILDDIR>>/tests/lib/rules/no-multi-assign.js
> ok 526 - /<<PKGBUILDDIR>>/tests/lib/rules/no-multi-spaces.js
> ok 527 - /<<PKGBUILDDIR>>/tests/lib/rules/no-multi-str.js
> ok 528 - /<<PKGBUILDDIR>>/tests/lib/rules/no-multiple-empty-lines.js
> ok 529 - /<<PKGBUILDDIR>>/tests/lib/rules/no-native-reassign.js
> ok 530 - /<<PKGBUILDDIR>>/tests/lib/rules/no-negated-condition.js
> ok 531 - /<<PKGBUILDDIR>>/tests/lib/rules/no-negated-in-lhs.js
> ok 532 - /<<PKGBUILDDIR>>/tests/lib/rules/no-nested-ternary.js
> ok 533 - /<<PKGBUILDDIR>>/tests/lib/rules/no-new-func.js
> ok 534 - /<<PKGBUILDDIR>>/tests/lib/rules/no-new-object.js
> ok 535 - /<<PKGBUILDDIR>>/tests/lib/rules/no-new-require.js
> ok 536 - /<<PKGBUILDDIR>>/tests/lib/rules/no-new-symbol.js
> ok 537 - /<<PKGBUILDDIR>>/tests/lib/rules/no-new-wrappers.js
> ok 538 - /<<PKGBUILDDIR>>/tests/lib/rules/no-new.js
> ok 539 - /<<PKGBUILDDIR>>/tests/lib/rules/no-obj-calls.js
> ok 540 - /<<PKGBUILDDIR>>/tests/lib/rules/no-octal-escape.js
> ok 541 - /<<PKGBUILDDIR>>/tests/lib/rules/no-octal.js
> ok 542 - /<<PKGBUILDDIR>>/tests/lib/rules/no-param-reassign.js
> ok 543 - /<<PKGBUILDDIR>>/tests/lib/rules/no-path-concat.js
> ok 544 - /<<PKGBUILDDIR>>/tests/lib/rules/no-plusplus.js
> ok 545 - /<<PKGBUILDDIR>>/tests/lib/rules/no-process-env.js
> ok 546 - /<<PKGBUILDDIR>>/tests/lib/rules/no-process-exit.js
> ok 547 - /<<PKGBUILDDIR>>/tests/lib/rules/no-proto.js
> ok 548 - /<<PKGBUILDDIR>>/tests/lib/rules/no-prototype-builtins.js
> ok 549 - /<<PKGBUILDDIR>>/tests/lib/rules/no-redeclare.js
> ok 550 - /<<PKGBUILDDIR>>/tests/lib/rules/no-regex-spaces.js
> ok 551 - /<<PKGBUILDDIR>>/tests/lib/rules/no-restricted-globals.js
> ok 552 - /<<PKGBUILDDIR>>/tests/lib/rules/no-restricted-imports.js
> ok 553 - /<<PKGBUILDDIR>>/tests/lib/rules/no-restricted-modules.js
> ok 554 - /<<PKGBUILDDIR>>/tests/lib/rules/no-restricted-properties.js
> ok 555 - /<<PKGBUILDDIR>>/tests/lib/rules/no-restricted-syntax.js
> ok 556 - /<<PKGBUILDDIR>>/tests/lib/rules/no-return-assign.js
> ok 557 - /<<PKGBUILDDIR>>/tests/lib/rules/no-return-await.js
> ok 558 - /<<PKGBUILDDIR>>/tests/lib/rules/no-script-url.js
> ok 559 - /<<PKGBUILDDIR>>/tests/lib/rules/no-self-assign.js
> ok 560 - /<<PKGBUILDDIR>>/tests/lib/rules/no-self-compare.js
> ok 561 - /<<PKGBUILDDIR>>/tests/lib/rules/no-sequences.js
> ok 562 - /<<PKGBUILDDIR>>/tests/lib/rules/no-shadow-restricted-names.js
> ok 563 - /<<PKGBUILDDIR>>/tests/lib/rules/no-shadow.js
> ok 564 - /<<PKGBUILDDIR>>/tests/lib/rules/no-spaced-func.js
> ok 565 - /<<PKGBUILDDIR>>/tests/lib/rules/no-sparse-arrays.js
> ok 566 - /<<PKGBUILDDIR>>/tests/lib/rules/no-sync.js
> ok 567 - /<<PKGBUILDDIR>>/tests/lib/rules/no-tabs.js
> ok 568 - /<<PKGBUILDDIR>>/tests/lib/rules/no-template-curly-in-string.js
> ok 569 - /<<PKGBUILDDIR>>/tests/lib/rules/no-ternary.js
> ok 570 - /<<PKGBUILDDIR>>/tests/lib/rules/no-this-before-super.js
> ok 571 - /<<PKGBUILDDIR>>/tests/lib/rules/no-throw-literal.js
> ok 572 - /<<PKGBUILDDIR>>/tests/lib/rules/no-trailing-spaces.js
> ok 573 - /<<PKGBUILDDIR>>/tests/lib/rules/no-undef-init.js
> ok 574 - /<<PKGBUILDDIR>>/tests/lib/rules/no-undef.js
> ok 575 - /<<PKGBUILDDIR>>/tests/lib/rules/no-undefined.js
> ok 576 - /<<PKGBUILDDIR>>/tests/lib/rules/no-underscore-dangle.js
> ok 577 - /<<PKGBUILDDIR>>/tests/lib/rules/no-unexpected-multiline.js
> ok 578 - /<<PKGBUILDDIR>>/tests/lib/rules/no-unmodified-loop-condition.js
> ok 579 - /<<PKGBUILDDIR>>/tests/lib/rules/no-unneeded-ternary.js
> ok 580 - /<<PKGBUILDDIR>>/tests/lib/rules/no-unreachable.js
> ok 581 - /<<PKGBUILDDIR>>/tests/lib/rules/no-unsafe-finally.js
> ok 582 - /<<PKGBUILDDIR>>/tests/lib/rules/no-unsafe-negation.js
> ok 583 - /<<PKGBUILDDIR>>/tests/lib/rules/no-unused-expressions.js
> ok 584 - /<<PKGBUILDDIR>>/tests/lib/rules/no-unused-labels.js
> ok 585 - /<<PKGBUILDDIR>>/tests/lib/rules/no-unused-vars.js
> ok 586 - /<<PKGBUILDDIR>>/tests/lib/rules/no-use-before-define.js
> ok 587 - /<<PKGBUILDDIR>>/tests/lib/rules/no-useless-call.js
> ok 588 - /<<PKGBUILDDIR>>/tests/lib/rules/no-useless-catch.js
> ok 589 - /<<PKGBUILDDIR>>/tests/lib/rules/no-useless-computed-key.js
> ok 590 - /<<PKGBUILDDIR>>/tests/lib/rules/no-useless-concat.js
> ok 591 - /<<PKGBUILDDIR>>/tests/lib/rules/no-useless-constructor.js
> ok 592 - /<<PKGBUILDDIR>>/tests/lib/rules/no-useless-escape.js
> ok 593 - /<<PKGBUILDDIR>>/tests/lib/rules/no-useless-rename.js
> ok 594 - /<<PKGBUILDDIR>>/tests/lib/rules/no-useless-return.js
> ok 595 - /<<PKGBUILDDIR>>/tests/lib/rules/no-var.js
> ok 596 - /<<PKGBUILDDIR>>/tests/lib/rules/no-void.js
> ok 597 - /<<PKGBUILDDIR>>/tests/lib/rules/no-warning-comments.js
> ok 598 - /<<PKGBUILDDIR>>/tests/lib/rules/no-whitespace-before-property.js
> ok 599 - /<<PKGBUILDDIR>>/tests/lib/rules/no-with.js
> ok 600 - /<<PKGBUILDDIR>>/tests/lib/rules/nonblock-statement-body-position.js
> ok 601 - /<<PKGBUILDDIR>>/tests/lib/rules/object-curly-newline.js
> ok 602 - /<<PKGBUILDDIR>>/tests/lib/rules/object-curly-spacing.js
> ok 603 - /<<PKGBUILDDIR>>/tests/lib/rules/object-property-newline.js
> ok 604 - /<<PKGBUILDDIR>>/tests/lib/rules/object-shorthand.js
> ok 605 - /<<PKGBUILDDIR>>/tests/lib/rules/one-var-declaration-per-line.js
> ok 606 - /<<PKGBUILDDIR>>/tests/lib/rules/one-var.js
> ok 607 - /<<PKGBUILDDIR>>/tests/lib/rules/operator-assignment.js
> ok 608 - /<<PKGBUILDDIR>>/tests/lib/rules/operator-linebreak.js
> ok 609 - /<<PKGBUILDDIR>>/tests/lib/rules/padded-blocks.js
> ok 610 - /<<PKGBUILDDIR>>/tests/lib/rules/padding-line-between-statements.js
> ok 611 - /<<PKGBUILDDIR>>/tests/lib/rules/prefer-arrow-callback.js
> ok 612 - /<<PKGBUILDDIR>>/tests/lib/rules/prefer-const.js
> ok 613 - /<<PKGBUILDDIR>>/tests/lib/rules/prefer-destructuring.js
> ok 614 - /<<PKGBUILDDIR>>/tests/lib/rules/prefer-named-capture-group.js
> ok 615 - /<<PKGBUILDDIR>>/tests/lib/rules/prefer-numeric-literals.js
> ok 616 - /<<PKGBUILDDIR>>/tests/lib/rules/prefer-object-spread.js
> ok 617 - /<<PKGBUILDDIR>>/tests/lib/rules/prefer-promise-reject-errors.js
> ok 618 - /<<PKGBUILDDIR>>/tests/lib/rules/prefer-reflect.js
> ok 619 - /<<PKGBUILDDIR>>/tests/lib/rules/prefer-rest-params.js
> ok 620 - /<<PKGBUILDDIR>>/tests/lib/rules/prefer-spread.js
> ok 621 - /<<PKGBUILDDIR>>/tests/lib/rules/prefer-template.js
> ok 622 - /<<PKGBUILDDIR>>/tests/lib/rules/quote-props.js
> ok 623 - /<<PKGBUILDDIR>>/tests/lib/rules/quotes.js
> ok 624 - /<<PKGBUILDDIR>>/tests/lib/rules/radix.js
> ok 625 - /<<PKGBUILDDIR>>/tests/lib/rules/require-atomic-updates.js
> ok 626 - /<<PKGBUILDDIR>>/tests/lib/rules/require-await.js
> ok 627 - /<<PKGBUILDDIR>>/tests/lib/rules/require-jsdoc.js
> ok 628 - /<<PKGBUILDDIR>>/tests/lib/rules/require-unicode-regexp.js
> ok 629 - /<<PKGBUILDDIR>>/tests/lib/rules/require-yield.js
> ok 630 - /<<PKGBUILDDIR>>/tests/lib/rules/rest-spread-spacing.js
> ok 631 - /<<PKGBUILDDIR>>/tests/lib/rules/semi-spacing.js
> ok 632 - /<<PKGBUILDDIR>>/tests/lib/rules/semi-style.js
> ok 633 - /<<PKGBUILDDIR>>/tests/lib/rules/semi.js
> ok 634 - /<<PKGBUILDDIR>>/tests/lib/rules/sort-imports.js
> ok 635 - /<<PKGBUILDDIR>>/tests/lib/rules/sort-keys.js
> ok 636 - /<<PKGBUILDDIR>>/tests/lib/rules/sort-vars.js
> ok 637 - /<<PKGBUILDDIR>>/tests/lib/rules/space-before-blocks.js
> ok 638 - /<<PKGBUILDDIR>>/tests/lib/rules/space-before-function-paren.js
> ok 639 - /<<PKGBUILDDIR>>/tests/lib/rules/space-in-parens.js
> ok 640 - /<<PKGBUILDDIR>>/tests/lib/rules/space-infix-ops.js
> ok 641 - /<<PKGBUILDDIR>>/tests/lib/rules/space-unary-ops.js
> ok 642 - /<<PKGBUILDDIR>>/tests/lib/rules/spaced-comment.js
> ok 643 - /<<PKGBUILDDIR>>/tests/lib/rules/strict.js
> ok 644 - /<<PKGBUILDDIR>>/tests/lib/rules/switch-colon-spacing.js
> ok 645 - /<<PKGBUILDDIR>>/tests/lib/rules/symbol-description.js
> ok 646 - /<<PKGBUILDDIR>>/tests/lib/rules/template-curly-spacing.js
> ok 647 - /<<PKGBUILDDIR>>/tests/lib/rules/template-tag-spacing.js
> ok 648 - /<<PKGBUILDDIR>>/tests/lib/rules/unicode-bom.js
> ok 649 - /<<PKGBUILDDIR>>/tests/lib/rules/use-isnan.js
> ok 650 - /<<PKGBUILDDIR>>/tests/lib/rules/valid-jsdoc.js
> ok 651 - /<<PKGBUILDDIR>>/tests/lib/rules/valid-typeof.js
> ok 652 - /<<PKGBUILDDIR>>/tests/lib/rules/vars-on-top.js
> ok 653 - /<<PKGBUILDDIR>>/tests/lib/rules/wrap-iife.js
> ok 654 - /<<PKGBUILDDIR>>/tests/lib/rules/wrap-regex.js
> ok 655 - /<<PKGBUILDDIR>>/tests/lib/rules/yield-star-spacing.js
> ok 656 - /<<PKGBUILDDIR>>/tests/lib/rules/yoda.js
> ok 657 - /<<PKGBUILDDIR>>/tests/lib/testers/no-test-runners.js
> ok 658 - /<<PKGBUILDDIR>>/tests/lib/testers/rule-tester.js
> ok 659 - /<<PKGBUILDDIR>>/tests/lib/token-store.js
> ok 660 - /<<PKGBUILDDIR>>/tests/lib/util/apply-disable-directives.js
> ok 661 - /<<PKGBUILDDIR>>/tests/lib/util/ast-utils.js
> ok 662 - /<<PKGBUILDDIR>>/tests/lib/util/config-comment-parser.js
> ok 663 - /<<PKGBUILDDIR>>/tests/lib/util/file-finder.js
> ok 664 - /<<PKGBUILDDIR>>/tests/lib/util/fix-tracker.js
> ok 665 - /<<PKGBUILDDIR>>/tests/lib/util/glob-utils.js
> ok 666 - /<<PKGBUILDDIR>>/tests/lib/util/ignored-paths.js
> ok 667 - /<<PKGBUILDDIR>>/tests/lib/util/interpolate.js
> ok 668 - /<<PKGBUILDDIR>>/tests/lib/util/lint-result-cache.js
> ok 669 - /<<PKGBUILDDIR>>/tests/lib/util/module-resolver.js
> ok 670 - /<<PKGBUILDDIR>>/tests/lib/util/naming.js
> ok 671 - /<<PKGBUILDDIR>>/tests/lib/util/node-event-generator.js
> ok 672 - /<<PKGBUILDDIR>>/tests/lib/util/npm-utils.js
> ok 673 - /<<PKGBUILDDIR>>/tests/lib/util/path-utils.js
> ok 674 - /<<PKGBUILDDIR>>/tests/lib/util/report-translator.js
> ok 675 - /<<PKGBUILDDIR>>/tests/lib/util/rule-fixer.js
> ok 676 - /<<PKGBUILDDIR>>/tests/lib/util/safe-emitter.js
> ok 677 - /<<PKGBUILDDIR>>/tests/lib/util/source-code-fixer.js
> ok 678 - /<<PKGBUILDDIR>>/tests/lib/util/source-code-utils.js
> ok 679 - /<<PKGBUILDDIR>>/tests/lib/util/source-code.js
> ok 680 - /<<PKGBUILDDIR>>/tests/lib/util/traverser.js
> ok 681 - /<<PKGBUILDDIR>>/tests/tools/eslint-fuzzer.js
> ok 682 - /<<PKGBUILDDIR>>/tests/tools/internal-rules/consistent-docs-description.js
> ok 683 - /<<PKGBUILDDIR>>/tests/tools/internal-rules/consistent-docs-url.js
> ok 684 - /<<PKGBUILDDIR>>/tests/tools/internal-rules/consistent-meta-messages.js
> ok 685 - /<<PKGBUILDDIR>>/tests/tools/internal-rules/multiline-comment-style.js
> ok 686 - /<<PKGBUILDDIR>>/tests/tools/internal-rules/no-invalid-meta.js
> 
> NODE_PATH=packages:tools mocha --no-timeout --reporter tap \
> 	--exclude tests/lib/formatters/table.js --exclude tests/tools/eslint-fuzzer.js --exclude tests/lib/cli.js --exclude tests/lib/cli-engine.js --exclude tests/lib/util/source-code.js --exclude tests/bin/eslint.js --exclude tests/lib/config.js --exclude tests/lib/config/config-file.js --exclude tests/lib/config/config-initializer.js --exclude tests/lib/formatters/codeframe.js --exclude tests/lib/formatters/stylish.js --exclude tests/lib/linter.js --exclude tests/lib/rules/camelcase.js --exclude tests/lib/rules/id-length.js --exclude tests/lib/rules/id-match.js --exclude tests/lib/rules/require-await.js --exclude tests/lib/util/glob-utils.js --exclude tests/lib/util/ignored-paths.js --exclude tests/lib/util/lint-result-cache.js --exclude tests/lib/util/node-event-generator.js --exclude tests/lib/util/npm-utils.js --exclude tests/lib/util/source-code-utils.js \
> 	'tests/{bin,lib,tools}/**/*.js'
> ok 1 api should have RuleTester exposed
> ok 2 api should have CLIEngine exposed
> ok 3 api should have linter exposed
> ok 4 api should have SourceCode exposed
> ok 5 CodePathAnalyzer should implement EventGenerator interface should have `emitter` property.
> ok 6 CodePathAnalyzer should implement EventGenerator interface should have `enterNode` property.
> ok 7 CodePathAnalyzer should implement EventGenerator interface should have `leaveNode` property.
> ok 8 CodePathAnalyzer interface of code paths should have `id` as unique string
> ok 9 CodePathAnalyzer interface of code paths should have `upper` as CodePath
> ok 10 CodePathAnalyzer interface of code paths should have `childCodePaths` as CodePath[]
> ok 11 CodePathAnalyzer interface of code paths should have `initialSegment` as CodePathSegment
> ok 12 CodePathAnalyzer interface of code paths should have `finalSegments` as CodePathSegment[]
> ok 13 CodePathAnalyzer interface of code paths should have `returnedSegments` as CodePathSegment[]
> ok 14 CodePathAnalyzer interface of code paths should have `thrownSegments` as CodePathSegment[]
> ok 15 CodePathAnalyzer interface of code paths should have `currentSegments` as CodePathSegment[]
> ok 16 CodePathAnalyzer interface of code path segments should have `id` as unique string
> ok 17 CodePathAnalyzer interface of code path segments should have `nextSegments` as CodePathSegment[]
> ok 18 CodePathAnalyzer interface of code path segments should have `allNextSegments` as CodePathSegment[]
> ok 19 CodePathAnalyzer interface of code path segments should have `prevSegments` as CodePathSegment[]
> ok 20 CodePathAnalyzer interface of code path segments should have `allPrevSegments` as CodePathSegment[]
> ok 21 CodePathAnalyzer interface of code path segments should have `reachable` as boolean
> ok 22 CodePathAnalyzer onCodePathStart should be fired at the head of programs/functions
> ok 23 CodePathAnalyzer onCodePathEnd should be fired at the end of programs/functions
> ok 24 CodePathAnalyzer onCodePathSegmentStart should be fired at the head of programs/functions for the initial segment
> ok 25 CodePathAnalyzer onCodePathSegmentEnd should be fired at the end of programs/functions for the final segment
> ok 26 CodePathAnalyzer onCodePathSegmentLoop should be fired in `while` loops
> ok 27 CodePathAnalyzer onCodePathSegmentLoop should be fired in `do-while` loops
> ok 28 CodePathAnalyzer onCodePathSegmentLoop should be fired in `for` loops
> ok 29 CodePathAnalyzer onCodePathSegmentLoop should be fired in `for-in` loops
> ok 30 CodePathAnalyzer onCodePathSegmentLoop should be fired in `for-of` loops
> ok 31 CodePathAnalyzer completed code paths are correct block-and-break-1.js
> ok 32 CodePathAnalyzer completed code paths are correct block-and-break-2.js
> ok 33 CodePathAnalyzer completed code paths are correct block-and-break-3.js
> ok 34 CodePathAnalyzer completed code paths are correct block-and-break-4.js
> ok 35 CodePathAnalyzer completed code paths are correct default-params--nest.js
> ok 36 CodePathAnalyzer completed code paths are correct default-params--simple.js
> ok 37 CodePathAnalyzer completed code paths are correct do-while--break-always.js
> ok 38 CodePathAnalyzer completed code paths are correct do-while--break-label.js
> ok 39 CodePathAnalyzer completed code paths are correct do-while--break-nest.js
> ok 40 CodePathAnalyzer completed code paths are correct do-while--break-simple.js
> ok 41 CodePathAnalyzer completed code paths are correct do-while--continue-always.js
> ok 42 CodePathAnalyzer completed code paths are correct do-while--continue-label.js
> ok 43 CodePathAnalyzer completed code paths are correct do-while--continue-nest.js
> ok 44 CodePathAnalyzer completed code paths are correct do-while--continue-simple.js
> ok 45 CodePathAnalyzer completed code paths are correct do-while--empty.js
> ok 46 CodePathAnalyzer completed code paths are correct do-while--simple.js
> ok 47 CodePathAnalyzer completed code paths are correct for--break-always.js
> ok 48 CodePathAnalyzer completed code paths are correct for--break-label.js
> ok 49 CodePathAnalyzer completed code paths are correct for--break-nest.js
> ok 50 CodePathAnalyzer completed code paths are correct for--break-simple-no-test.js
> ok 51 CodePathAnalyzer completed code paths are correct for--break-simple-no-update.js
> ok 52 CodePathAnalyzer completed code paths are correct for--break-simple.js
> ok 53 CodePathAnalyzer completed code paths are correct for--continue-always.js
> ok 54 CodePathAnalyzer completed code paths are correct for--continue-label.js
> ok 55 CodePathAnalyzer completed code paths are correct for--continue-nest.js
> ok 56 CodePathAnalyzer completed code paths are correct for--continue-simple-no-test.js
> ok 57 CodePathAnalyzer completed code paths are correct for--continue-simple-no-update.js
> ok 58 CodePathAnalyzer completed code paths are correct for--continue-simple.js
> ok 59 CodePathAnalyzer completed code paths are correct for--direct-nest.js
> ok 60 CodePathAnalyzer completed code paths are correct for--empty.js
> ok 61 CodePathAnalyzer completed code paths are correct for--simple-fork-in-test-update.js
> ok 62 CodePathAnalyzer completed code paths are correct for--simple-no-test.js
> ok 63 CodePathAnalyzer completed code paths are correct for--simple-no-update.js
> ok 64 CodePathAnalyzer completed code paths are correct for--simple-test-true.js
> ok 65 CodePathAnalyzer completed code paths are correct for--simple.js
> ok 66 CodePathAnalyzer completed code paths are correct for-in--break-always.js
> ok 67 CodePathAnalyzer completed code paths are correct for-in--break-label.js
> ok 68 CodePathAnalyzer completed code paths are correct for-in--break-nest.js
> ok 69 CodePathAnalyzer completed code paths are correct for-in--break-simple.js
> ok 70 CodePathAnalyzer completed code paths are correct for-in--continue-always.js
> ok 71 CodePathAnalyzer completed code paths are correct for-in--continue-label.js
> ok 72 CodePathAnalyzer completed code paths are correct for-in--continue-nest.js
> ok 73 CodePathAnalyzer completed code paths are correct for-in--continue-simple.js
> ok 74 CodePathAnalyzer completed code paths are correct for-in--direct-nest.js
> ok 75 CodePathAnalyzer completed code paths are correct for-in--empty.js
> ok 76 CodePathAnalyzer completed code paths are correct for-in--simple.js
> ok 77 CodePathAnalyzer completed code paths are correct for-of--break-always.js
> ok 78 CodePathAnalyzer completed code paths are correct for-of--break-label.js
> ok 79 CodePathAnalyzer completed code paths are correct for-of--break-nest.js
> ok 80 CodePathAnalyzer completed code paths are correct for-of--break-simple.js
> ok 81 CodePathAnalyzer completed code paths are correct for-of--continue-always.js
> ok 82 CodePathAnalyzer completed code paths are correct for-of--continue-label.js
> ok 83 CodePathAnalyzer completed code paths are correct for-of--continue-nest.js
> ok 84 CodePathAnalyzer completed code paths are correct for-of--continue-simple.js
> ok 85 CodePathAnalyzer completed code paths are correct for-of--direct-nest.js
> ok 86 CodePathAnalyzer completed code paths are correct for-of--empty.js
> ok 87 CodePathAnalyzer completed code paths are correct for-of--simple.js
> ok 88 CodePathAnalyzer completed code paths are correct function--in-condition-expr.js
> ok 89 CodePathAnalyzer completed code paths are correct function--in-logical-right.js
> ok 90 CodePathAnalyzer completed code paths are correct function--simple.js
> ok 91 CodePathAnalyzer completed code paths are correct if-1.js
> ok 92 CodePathAnalyzer completed code paths are correct if-2.js
> ok 93 CodePathAnalyzer completed code paths are correct if-3.js
> ok 94 CodePathAnalyzer completed code paths are correct if-4.js
> ok 95 CodePathAnalyzer completed code paths are correct if-5.js
> ok 96 CodePathAnalyzer completed code paths are correct if-6.js
> ok 97 CodePathAnalyzer completed code paths are correct logical--do-while-and-1.js
> ok 98 CodePathAnalyzer completed code paths are correct logical--do-while-and-2.js
> ok 99 CodePathAnalyzer completed code paths are correct logical--do-while-mix-1.js
> ok 100 CodePathAnalyzer completed code paths are correct logical--do-while-mix-2.js
> ok 101 CodePathAnalyzer completed code paths are correct logical--do-while-or-1.js
> ok 102 CodePathAnalyzer completed code paths are correct logical--do-while-or-2.js
> ok 103 CodePathAnalyzer completed code paths are correct logical--for-and-1.js
> ok 104 CodePathAnalyzer completed code paths are correct logical--for-and-2.js
> ok 105 CodePathAnalyzer completed code paths are correct logical--for-and-3.js
> ok 106 CodePathAnalyzer completed code paths are correct logical--for-mix-1.js
> ok 107 CodePathAnalyzer completed code paths are correct logical--for-mix-2.js
> ok 108 CodePathAnalyzer completed code paths are correct logical--for-mix-3.js
> ok 109 CodePathAnalyzer completed code paths are correct logical--for-or-1.js
> ok 110 CodePathAnalyzer completed code paths are correct logical--for-or-2.js
> ok 111 CodePathAnalyzer completed code paths are correct logical--for-or-3.js
> ok 112 CodePathAnalyzer completed code paths are correct logical--if-and-1.js
> ok 113 CodePathAnalyzer completed code paths are correct logical--if-and-2.js
> ok 114 CodePathAnalyzer completed code paths are correct logical--if-and-3.js
> ok 115 CodePathAnalyzer completed code paths are correct logical--if-and-4.js
> ok 116 CodePathAnalyzer completed code paths are correct logical--if-and-5.js
> ok 117 CodePathAnalyzer completed code paths are correct logical--if-mix-1.js
> ok 118 CodePathAnalyzer completed code paths are correct logical--if-mix-2.js
> ok 119 CodePathAnalyzer completed code paths are correct logical--if-or-1.js
> ok 120 CodePathAnalyzer completed code paths are correct logical--if-or-2.js
> ok 121 CodePathAnalyzer completed code paths are correct logical--if-or-3.js
> ok 122 CodePathAnalyzer completed code paths are correct logical--if-or-4.js
> ok 123 CodePathAnalyzer completed code paths are correct logical--if-or-5.js
> ok 124 CodePathAnalyzer completed code paths are correct logical--simple-1.js
> ok 125 CodePathAnalyzer completed code paths are correct logical--simple-2.js
> ok 126 CodePathAnalyzer completed code paths are correct logical--while-and-1.js
> ok 127 CodePathAnalyzer completed code paths are correct logical--while-and-2.js
> ok 128 CodePathAnalyzer completed code paths are correct logical--while-mix-1.js
> ok 129 CodePathAnalyzer completed code paths are correct logical--while-mix-2.js
> ok 130 CodePathAnalyzer completed code paths are correct logical--while-or-1.js
> ok 131 CodePathAnalyzer completed code paths are correct logical--while-or-2.js
> ok 132 CodePathAnalyzer completed code paths are correct switch--cases-1.js
> ok 133 CodePathAnalyzer completed code paths are correct switch--cases-2.js
> ok 134 CodePathAnalyzer completed code paths are correct switch--cases-and-default-1.js
> ok 135 CodePathAnalyzer completed code paths are correct switch--cases-and-default-2.js
> ok 136 CodePathAnalyzer completed code paths are correct switch--cases-and-default-3.js
> ok 137 CodePathAnalyzer completed code paths are correct switch--default-only-1.js
> ok 138 CodePathAnalyzer completed code paths are correct switch--default-only-2.js
> ok 139 CodePathAnalyzer completed code paths are correct switch--empty.js
> ok 140 CodePathAnalyzer completed code paths are correct switch--precedence.js
> ok 141 CodePathAnalyzer completed code paths are correct switch--single-case-1.js
> ok 142 CodePathAnalyzer completed code paths are correct switch--single-case-2.js
> ok 143 CodePathAnalyzer completed code paths are correct try--try-catch-1.js
> ok 144 CodePathAnalyzer completed code paths are correct try--try-catch-2.js
> ok 145 CodePathAnalyzer completed code paths are correct try--try-catch-3.js
> ok 146 CodePathAnalyzer completed code paths are correct try--try-catch-4.js
> ok 147 CodePathAnalyzer completed code paths are correct try--try-catch-finally-1.js
> ok 148 CodePathAnalyzer completed code paths are correct try--try-catch-finally-2.js
> ok 149 CodePathAnalyzer completed code paths are correct try--try-catch-finally-3.js
> ok 150 CodePathAnalyzer completed code paths are correct try--try-finally-1.js
> ok 151 CodePathAnalyzer completed code paths are correct try--try-finally-2.js
> ok 152 CodePathAnalyzer completed code paths are correct try--try-finally-3.js
> ok 153 CodePathAnalyzer completed code paths are correct try--try-finally-4.js
> ok 154 CodePathAnalyzer completed code paths are correct try--try-finally-5.js
> ok 155 CodePathAnalyzer completed code paths are correct try--try-with-for-inof-1.js
> ok 156 CodePathAnalyzer completed code paths are correct try--try-with-for-inof-2.js
> ok 157 CodePathAnalyzer completed code paths are correct unreachable-controls.js
> ok 158 CodePathAnalyzer completed code paths are correct while--break-always.js
> ok 159 CodePathAnalyzer completed code paths are correct while--break-label.js
> ok 160 CodePathAnalyzer completed code paths are correct while--break-nest-2.js
> ok 161 CodePathAnalyzer completed code paths are correct while--break-nest.js
> ok 162 CodePathAnalyzer completed code paths are correct while--break-simple.js
> ok 163 CodePathAnalyzer completed code paths are correct while--continue-always.js
> ok 164 CodePathAnalyzer completed code paths are correct while--continue-label.js
> ok 165 CodePathAnalyzer completed code paths are correct while--continue-nest.js
> ok 166 CodePathAnalyzer completed code paths are correct while--continue-simple.js
> ok 167 CodePathAnalyzer completed code paths are correct while--direct-nest.js
> ok 168 CodePathAnalyzer completed code paths are correct while--empty.js
> ok 169 CodePathAnalyzer completed code paths are correct while--simple.js
> ok 170 CodePathAnalyzer .traverseSegments() should traverse segments from `options.first` to `options.last`.
> ok 171 CodePathAnalyzer .traverseSegments() should stop immediately when 'controller.break()' was called.
> ok 172 CodePathAnalyzer .traverseSegments() should skip the current branch when 'controller.skip()' was called.
> ok 173 CodePathAnalyzer .traverseSegments() should traverse segments from the first to the end: simple
> ok 174 CodePathAnalyzer .traverseSegments() should traverse segments from the first to the end: if
> ok 175 CodePathAnalyzer .traverseSegments() should traverse segments from the first to the end: switch
> ok 176 CodePathAnalyzer .traverseSegments() should traverse segments from the first to the end: while
> ok 177 CodePathAnalyzer .traverseSegments() should traverse segments from the first to the end: for
> ok 178 CodePathAnalyzer .traverseSegments() should traverse segments from the first to the end: for-in
> ok 179 CodePathAnalyzer .traverseSegments() should traverse segments from the first to the end: try-catch
> ok 180 autoconfig Registry should set up a registry for rules in a provided rulesConfig
> ok 181 autoconfig Registry should not have any rules if constructed without a config argument
> ok 182 autoconfig Registry should create registryItems for each rule with the proper keys
> ok 183 autoconfig Registry should populate the config property correctly
> ok 184 autoconfig Registry should assign the correct specificity
> ok 185 autoconfig Registry should initially leave the errorCount as undefined
> ok 186 autoconfig Registry populateFromCoreRules() should add core rules to registry
> ok 187 autoconfig Registry populateFromCoreRules() should not add duplicate rules
> ok 188 autoconfig Registry buildRuleSets() should create an array of rule configuration sets
> ok 189 autoconfig Registry buildRuleSets() should include configs for each rule (at least for the first set)
> ok 190 autoconfig Registry buildRuleSets() should create the first set from default rule configs (severity only)
> ok 191 autoconfig Registry buildRuleSets() should create as many ruleSets as the highest number of configs in a rule
> ok 192 autoconfig Registry lintSourceCode() should populate the errorCount of all registryItems
> ok 193 autoconfig Registry lintSourceCode() should correctly set the error count of configurations
> ok 194 autoconfig Registry lintSourceCode() should respect inline eslint config comments (and not crash when they make linting errors)
> ok 195 autoconfig Registry stripFailingConfigs() should remove all registryItems with a non-zero errorCount
> ok 196 autoconfig Registry getFailingRulesRegistry() should return a registry with no registryItems with an errorCount of zero
> ok 197 autoconfig Registry createConfig() should create a config with a rules property
> ok 198 autoconfig Registry createConfig() should add rules which have only one registryItem to the config
> ok 199 autoconfig Registry createConfig() should set the configuration of the rule to the registryItem's `config` value
> ok 200 autoconfig Registry createConfig() should not care how many errors the config has
> ok 201 autoconfig Registry filterBySpecificity() should return a registry where all configs have a desired specificity
> ok 202 ConfigOps applyEnvironments() should apply environment settings to config without destroying original settings
> ok 203 ConfigOps applyEnvironments() should not apply environment settings to config without environments
> ok 204 ConfigOps applyEnvironments() should apply multiple environment settings to config without destroying original settings
> ok 205 ConfigOps createEnvironmentConfig() should return empty config if called without any config
> ok 206 ConfigOps createEnvironmentConfig() should return correct config for env with no globals
> ok 207 ConfigOps createEnvironmentConfig() should create the correct config for Node.js environment
> ok 208 ConfigOps createEnvironmentConfig() should create the correct config for ES6 environment
> ok 209 ConfigOps createEnvironmentConfig() should create empty config when no environments are specified
> ok 210 ConfigOps createEnvironmentConfig() should create empty config when an unknown environment is specified
> ok 211 ConfigOps merge() should combine two objects when passed two objects with different top-level properties
> ok 212 ConfigOps merge() should combine without blowing up on null values
> ok 213 ConfigOps merge() should combine two objects with parser when passed two objects with different top-level properties
> ok 214 ConfigOps merge() should combine configs and override rules when passed configs with the same rules
> ok 215 ConfigOps merge() should combine configs when passed configs with parserOptions
> ok 216 ConfigOps merge() should override configs when passed configs with the same ecmaFeatures
> ok 217 ConfigOps merge() should combine configs and override rules when merging two configs with arrays and int
> ok 218 ConfigOps merge() should combine configs and override rules options completely
> ok 219 ConfigOps merge() should combine configs and override rules options without array or object
> ok 220 ConfigOps merge() should combine configs and override rules options without array or object but special case
> ok 221 ConfigOps merge() should combine extends correctly
> ok 222 ConfigOps merge() should combine configs correctly
> ok 223 ConfigOps merge() should copy deeply if there is not the destination's property
> ok 224 ConfigOps merge() plugins should combine the plugin entries when each config has different plugins
> ok 225 ConfigOps merge() plugins should avoid duplicate plugin entries when each config has the same plugin
> ok 226 ConfigOps merge() plugins should create a valid config when one argument is an empty object
> ok 227 ConfigOps merge() overrides should combine the override entries in the correct order
> ok 228 ConfigOps merge() overrides should work if the base config doesn’t have an overrides property
> ok 229 ConfigOps merge() overrides should work if the custom config doesn’t have an overrides property
> ok 230 ConfigOps merge() overrides should work if overrides are null in the base config
> ok 231 ConfigOps merge() overrides should work if overrides are null in the custom config
> ok 232 ConfigOps getRuleSeverity() returns 0 for 0
> ok 233 ConfigOps getRuleSeverity() returns 1 for 1
> ok 234 ConfigOps getRuleSeverity() returns 2 for 2
> ok 235 ConfigOps getRuleSeverity() returns 0 for [ 0 ]
> ok 236 ConfigOps getRuleSeverity() returns 1 for [ 1 ]
> ok 237 ConfigOps getRuleSeverity() returns 2 for [ 2 ]
> ok 238 ConfigOps getRuleSeverity() returns 0 for 'off'
> ok 239 ConfigOps getRuleSeverity() returns 1 for 'warn'
> ok 240 ConfigOps getRuleSeverity() returns 2 for 'error'
> ok 241 ConfigOps getRuleSeverity() returns 0 for [ 'off' ]
> ok 242 ConfigOps getRuleSeverity() returns 1 for [ 'warn' ]
> ok 243 ConfigOps getRuleSeverity() returns 2 for [ 'error' ]
> ok 244 ConfigOps getRuleSeverity() returns 0 for 'OFF'
> ok 245 ConfigOps getRuleSeverity() returns 1 for 'wArN'
> ok 246 ConfigOps getRuleSeverity() returns 2 for [ 'ErRoR' ]
> ok 247 ConfigOps getRuleSeverity() returns 0 for 'invalid config'
> ok 248 ConfigOps getRuleSeverity() returns 0 for [ 'invalid config' ]
> ok 249 ConfigOps getRuleSeverity() returns 0 for 3
> ok 250 ConfigOps getRuleSeverity() returns 0 for [ 3 ]
> ok 251 ConfigOps getRuleSeverity() returns 0 for 1.5
> ok 252 ConfigOps getRuleSeverity() returns 0 for [ 1.5 ]
> ok 253 ConfigOps normalizeToStrings() should convert 2 rule setting to error when rule has just a severity
> ok 254 ConfigOps normalizeToStrings() should convert 2 rule setting to error when rule has array with severity
> ok 255 ConfigOps normalizeToStrings() should convert 1 rule setting to warn when rule has just a severity
> ok 256 ConfigOps normalizeToStrings() should convert 1 rule setting to warn when rule has array with severity
> ok 257 ConfigOps normalizeToStrings() should convert 0 rule setting to off when rule has just a severity
> ok 258 ConfigOps normalizeToStrings() should convert 0 rule setting to off when rule has array with severity
> ok 259 ConfigOps normalizeToStrings() should convert 256 rule setting to off when rule has just a severity
> ok 260 ConfigOps normalizeToStrings() should convert 256 rule setting to off when rule has array with severity
> ok 261 ConfigOps isError() with error,true should return truewhen passed error
> ok 262 ConfigOps isError() with Error,true should return truewhen passed Error
> ok 263 ConfigOps isError() with 2,true should return truewhen passed 2
> ok 264 ConfigOps isError() with erRor,true should return truewhen passed erRor
> ok 265 ConfigOps isError() with error,foo,true should return truewhen passed error,foo
> ok 266 ConfigOps isError() with eRror,bar,true should return truewhen passed eRror,bar
> ok 267 ConfigOps isError() with 2,baz,true should return truewhen passed 2,baz
> ok 268 ConfigOps getConfigFromVector() should get from merged vector cache when present
> ok 269 ConfigOps getConfigFromVector() should get from raw cached configs when no merged vectors are cached
> ok 270 ConfigOps pathMatchesGlobs matches foo.js given 'foo.js' includes and '' excludes
> ok 271 ConfigOps pathMatchesGlobs matches foo.js given '*' includes and '' excludes
> ok 272 ConfigOps pathMatchesGlobs matches foo.js given '*.js' includes and '' excludes
> ok 273 ConfigOps pathMatchesGlobs matches foo.js given '**/*.js' includes and '' excludes
> ok 274 ConfigOps pathMatchesGlobs matches bar.js given '*.js' includes and 'foo.js' excludes
> ok 275 ConfigOps pathMatchesGlobs does not match foo.js given './foo.js' includes and '' excludes
> ok 276 ConfigOps pathMatchesGlobs does not match foo.js given './*' includes and '' excludes
> ok 277 ConfigOps pathMatchesGlobs does not match foo.js given './**' includes and '' excludes
> ok 278 ConfigOps pathMatchesGlobs does not match foo.js given '*' includes and 'foo.js' excludes
> ok 279 ConfigOps pathMatchesGlobs does not match foo.js given '*.js' includes and 'foo.js' excludes
> ok 280 ConfigOps pathMatchesGlobs does not match foo.js given '**/*.js' includes and 'foo.js' excludes
> ok 281 ConfigOps pathMatchesGlobs matches subdir/foo.js given 'foo.js' includes and '' excludes
> ok 282 ConfigOps pathMatchesGlobs matches subdir/foo.js given '*' includes and '' excludes
> ok 283 ConfigOps pathMatchesGlobs matches subdir/foo.js given '*.js' includes and '' excludes
> ok 284 ConfigOps pathMatchesGlobs matches subdir/foo.js given '**/*.js' includes and '' excludes
> ok 285 ConfigOps pathMatchesGlobs matches subdir/foo.js given 'subdir/*.js' includes and '' excludes
> ok 286 ConfigOps pathMatchesGlobs matches subdir/foo.js given 'subdir/foo.js' includes and '' excludes
> ok 287 ConfigOps pathMatchesGlobs matches subdir/foo.js given 'subdir/*' includes and '' excludes
> ok 288 ConfigOps pathMatchesGlobs matches subdir/second/foo.js given 'subdir/**' includes and '' excludes
> ok 289 ConfigOps pathMatchesGlobs does not match subdir/foo.js given './foo.js' includes and '' excludes
> ok 290 ConfigOps pathMatchesGlobs does not match subdir/foo.js given './**' includes and '' excludes
> ok 291 ConfigOps pathMatchesGlobs does not match subdir/foo.js given './subdir/**' includes and '' excludes
> ok 292 ConfigOps pathMatchesGlobs does not match subdir/foo.js given './subdir/*' includes and '' excludes
> ok 293 ConfigOps pathMatchesGlobs does not match subdir/foo.js given '*' includes and 'subdir/**' excludes
> ok 294 ConfigOps pathMatchesGlobs does not match subdir/very/deep/foo.js given '*.js' includes and 'subdir/**' excludes
> ok 295 ConfigOps pathMatchesGlobs does not match subdir/second/foo.js given 'subdir/*' includes and '' excludes
> ok 296 ConfigOps pathMatchesGlobs does not match subdir/second/foo.js given 'subdir/**' includes and 'subdir/second/*' excludes
> ok 297 ConfigOps pathMatchesGlobs emits an error given '/*.js'
> ok 298 ConfigOps pathMatchesGlobs emits an error given '/foo.js'
> ok 299 ConfigOps pathMatchesGlobs emits an error given '../**'
> ok 300 ConfigOps normalizeConfigGlobal 'off'
> ok 301 ConfigOps normalizeConfigGlobal true
> ok 302 ConfigOps normalizeConfigGlobal 'true'
> ok 303 ConfigOps normalizeConfigGlobal false
> ok 304 ConfigOps normalizeConfigGlobal 'false'
> ok 305 ConfigOps normalizeConfigGlobal null
> ok 306 ConfigOps normalizeConfigGlobal 'writeable'
> ok 307 ConfigOps normalizeConfigGlobal 'writable'
> ok 308 ConfigOps normalizeConfigGlobal 'readable'
> ok 309 ConfigOps normalizeConfigGlobal 'readonly'
> ok 310 ConfigOps normalizeConfigGlobal 'writable'
> ok 311 ConfigOps normalizeConfigGlobal 'something else'
> ok 312 ConfigRule generateConfigsFromSchema() should create a config with only severity for an empty schema
> ok 313 ConfigRule generateConfigsFromSchema() should create a config with only severity with no arguments
> ok 314 ConfigRule generateConfigsFromSchema() for a single enum schema should create an array of configs
> ok 315 ConfigRule generateConfigsFromSchema() for a single enum schema should include the error severity (2) without options as the first config
> ok 316 ConfigRule generateConfigsFromSchema() for a single enum schema should set all configs to error severity (2)
> ok 317 ConfigRule generateConfigsFromSchema() for a single enum schema should return configs with each enumerated value in the schema
> ok 318 ConfigRule generateConfigsFromSchema() for a object schema with a single enum property should return configs with option objects
> ok 319 ConfigRule generateConfigsFromSchema() for a object schema with a single enum property should use the object property name from the schema
> ok 320 ConfigRule generateConfigsFromSchema() for a object schema with a single enum property should have each enum as option object values
> ok 321 ConfigRule generateConfigsFromSchema() for a object schema with a multiple enum properties should create configs for all properties in each config
> ok 322 ConfigRule generateConfigsFromSchema() for a object schema with a multiple enum properties should create configs for every possible combination
> ok 323 ConfigRule generateConfigsFromSchema() for a object schema with a single boolean property should return configs with option objects
> ok 324 ConfigRule generateConfigsFromSchema() for a object schema with a single boolean property should use the object property name from the schema
> ok 325 ConfigRule generateConfigsFromSchema() for a object schema with a single boolean property should include both true and false configs
> ok 326 ConfigRule generateConfigsFromSchema() for a object schema with a multiple bool properties should create configs for all properties in each config
> ok 327 ConfigRule generateConfigsFromSchema() for a object schema with a multiple bool properties should create configs for every possible combination
> ok 328 ConfigRule generateConfigsFromSchema() for a schema with an enum and an object should create configs with only the enum values
> ok 329 ConfigRule generateConfigsFromSchema() for a schema with an enum and an object should create configs with a string and an object
> ok 330 ConfigRule generateConfigsFromSchema() for a schema with an enum followed by an object with no usable properties should create config only for the enum
> ok 331 ConfigRule generateConfigsFromSchema() for a schema with an enum preceded by an object with no usable properties should not create a config for the enum
> ok 332 ConfigRule generateConfigsFromSchema() for a schema with an enum preceded by a string should not create a config for the enum
> ok 333 ConfigRule generateConfigsFromSchema() for a schema with oneOf should create a set of configs
> ok 334 ConfigRule generateConfigsFromSchema() for a schema with nested objects should create a set of configs
> ok 335 ConfigRule createCoreRuleConfigs() should create a rulesConfig containing all core rules
> ok 336 ConfigRule createCoreRuleConfigs() should create arrays of configs for rules
> ok 337 ConfigRule createCoreRuleConfigs() should create configs for rules with meta
> ok 338 Validator validate should do nothing with an empty config
> ok 339 Validator validate should do nothing with a valid eslint config
> ok 340 Validator validate should throw with an unknown property
> ok 341 Validator validate root should throw with a string value
> ok 342 Validator validate root should throw with a numeric value
> ok 343 Validator validate globals should throw with a string value
> ok 344 Validator validate globals should throw with an array value
> ok 345 Validator validate parser should not throw with a null value
> ok 346 Validator validate env should throw with an array environment
> ok 347 Validator validate env should throw with a primitive environment
> ok 348 Validator validate env should catch invalid environments
> ok 349 Validator validate env should catch disabled invalid environments
> ok 350 Validator validate env should do nothing with an undefined environment
> ok 351 Validator validate plugins should not throw with an empty array
> ok 352 Validator validate plugins should throw with a string
> ok 353 Validator validate settings should not throw with an empty object
> ok 354 Validator validate settings should throw with an array
> ok 355 Validator validate extends should not throw with an empty array
> ok 356 Validator validate extends should not throw with a string
> ok 357 Validator validate extends should throw with an object
> ok 358 Validator validate parserOptions should not throw with an empty object
> ok 359 Validator validate parserOptions should throw with an array
> ok 360 Validator validate rules should do nothing with an empty rules object
> ok 361 Validator validate rules should do nothing with a valid config with rules
> ok 362 Validator validate rules should do nothing with a valid config when severity is off
> ok 363 Validator validate rules should do nothing with an invalid config when severity is off
> ok 364 Validator validate rules should do nothing with an invalid config when severity is an array with 'off'
> ok 365 Validator validate rules should do nothing with a valid config when severity is warn
> ok 366 Validator validate rules should do nothing with a valid config when severity is error
> ok 367 Validator validate rules should do nothing with a valid config when severity is Off
> ok 368 Validator validate rules should do nothing with a valid config when severity is Warn
> ok 369 Validator validate rules should do nothing with a valid config when severity is Error
> ok 370 Validator validate rules should catch invalid rule options
> ok 371 Validator validate rules should allow for rules with no options
> ok 372 Validator validate rules should not allow options for rules with no options
> ok 373 Validator validate overrides should not throw with an empty overrides array
> ok 374 Validator validate overrides should not throw with a valid overrides array
> ok 375 Validator validate overrides should throw if override does not specify files
> ok 376 Validator validate overrides should throw if override has an empty files array
> ok 377 Validator validate overrides should throw if override has nested overrides
> ok 378 Validator validate overrides should throw if override extends
> ok 379 Validator validate overrides should throw if override tries to set root
> ok 380 Validator validate overrides env should catch invalid environments
> ok 381 Validator validate overrides env should catch disabled invalid environments
> ok 382 Validator validate overrides rules should catch invalid rule options
> ok 383 Validator validate overrides rules should not allow options for rules with no options
> ok 384 Validator getRuleOptionsSchema should return null for a missing rule
> ok 385 Validator getRuleOptionsSchema should not modify object schema
> ok 386 Validator validateRuleOptions should throw for incorrect warning level number
> ok 387 Validator validateRuleOptions should throw for incorrect warning level string
> ok 388 Validator validateRuleOptions should throw for invalid-type warning level
> ok 389 Validator validateRuleOptions should only check warning level for nonexistent rules
> ok 390 Validator validateRuleOptions should only check warning level for plugin rules
> ok 391 Validator validateRuleOptions should throw for incorrect configuration values
> ok 392 Validator validateRuleOptions should throw for too many configuration values
> ok 393 Environments load() should have all default environments loaded
> ok 394 Environments define() should add an environment with the given name
> ok 395 Environments importPlugin() should import all environments from a plugin object
> ok 396 Plugins get should return null when plugin doesn't exist
> ok 397 Plugins load() should load a plugin when referenced by short name
> ok 398 Plugins load() should load a plugin when referenced by long name
> ok 399 Plugins load() should register environments when plugin has environments
> ok 400 Plugins load() should register rules when plugin has rules
> ok 401 Plugins load() should throw an error when a plugin has whitespace
> ok 402 Plugins load() should throw an error when a plugin doesn't exist
> ok 403 Plugins load() should rethrow an error that a plugin throws on load
> ok 404 Plugins load() should load a scoped plugin when referenced by short name
> ok 405 Plugins load() should load a scoped plugin when referenced by long name
> ok 406 Plugins load() should register environments when scoped plugin has environments
> ok 407 Plugins load() should register rules when scoped plugin has rules
> ok 408 Plugins load() when referencing a scope plugin and omitting @scope/ should load a scoped plugin when referenced by short name, but should not get the plugin if '@scope/' is omitted
> ok 409 Plugins load() when referencing a scope plugin and omitting @scope/ should load a scoped plugin when referenced by long name, but should not get the plugin if '@scope/' is omitted
> ok 410 Plugins load() when referencing a scope plugin and omitting @scope/ should register environments when scoped plugin has environments, but should not get the environment if '@scope/' is omitted
> ok 411 Plugins load() when referencing a scope plugin and omitting @scope/ should register rules when scoped plugin has rules, but should not get the rule if '@scope/' is omitted
> ok 412 Plugins loadAll() should load plugins when passed multiple plugins
> ok 413 Plugins loadAll() should load environments from plugins when passed multiple plugins
> ok 414 Plugins loadAll() should load rules from plugins when passed multiple plugins
> ok 415 Plugins loadAll() should throw an error if plugins is not an array
> ok 416 formatter:checkstyle when passed a single message should return a string in the format filename: line x, col y, Error - z for errors
> ok 417 formatter:checkstyle when passed a single message should return a string in the format filename: line x, col y, Warning - z for warnings
> ok 418 formatter:checkstyle when passed a message with XML control characters should return a string in the format filename: line x, col y, Error - z
> ok 419 formatter:checkstyle when passed a fatal error message should return a string in the format filename: line x, col y, Error - z
> ok 420 formatter:checkstyle when passed multiple messages should return a string with multiple entries
> ok 421 formatter:checkstyle when passed multiple files with 1 message each should return a string with multiple entries
> ok 422 formatter:checkstyle when passing single message without rule id should return a string in the format filename: line x, col y, Error - z for errors
> ok 423 formatter:compact when passed no messages should return nothing
> ok 424 formatter:compact when passed a single message should return a string in the format filename: line x, col y, Error - z for errors
> ok 425 formatter:compact when passed a single message should return a string in the format filename: line x, col y, Warning - z for warnings
> ok 426 formatter:compact when passed a fatal error message should return a string in the format filename: line x, col y, Error - z
> ok 427 formatter:compact when passed multiple messages should return a string with multiple entries
> ok 428 formatter:compact when passed multiple files with 1 message each should return a string with multiple entries
> ok 429 formatter:compact when passed one file not found message should return a string without line and column
> ok 430 formatter:html when passed a single error message should return a string in HTML format with 1 issue in 1 file and styled accordingly
> ok 431 formatter:html when passed a single error message should not fail if metadata is not available
> ok 432 formatter:html when passed a single warning message should return a string in HTML format with 1 issue in 1 file and styled accordingly
> ok 433 formatter:html when passed a single error message should return a string in HTML format with 1 issue in 1 file and styled accordingly
> ok 434 formatter:html when passed no error/warning messages should return a string in HTML format with 0 issues in 1 file and styled accordingly
> ok 435 formatter:html when passed multiple messages should return a string in HTML format with 2 issues in 1 file and styled accordingly
> ok 436 formatter:html when passed multiple files with 1 error & warning message respectively should return a string in HTML format with 2 issues in 2 files and styled accordingly
> ok 437 formatter:html when passed multiple files with 1 warning message each should return a string in HTML format with 2 issues in 2 files and styled accordingly
> not ok 438 formatter:html when passing a single message with illegal characters should return a string in HTML format with 1 issue in 1 file
>   Check that message is correct: expected 'Unexpected <&"\'> foo.' to equal 'Unexpected <&"'> foo.'
>   AssertionError: Check that message is correct: expected 'Unexpected <&"\'> foo.' to equal 'Unexpected <&"'> foo.'
>       at checkContentRow (tests/lib/formatters/html.js:60:12)
>       at Context.<anonymous> (tests/lib/formatters/html.js:528:13)
>       at callFn (/usr/share/nodejs/mocha/lib/runnable.js:364:21)
>       at Test.Runnable.run (/usr/share/nodejs/mocha/lib/runnable.js:352:5)
>       at Runner.runTest (/usr/share/nodejs/mocha/lib/runner.js:677:10)
>       at /usr/share/nodejs/mocha/lib/runner.js:801:12
>       at next (/usr/share/nodejs/mocha/lib/runner.js:594:14)
>       at /usr/share/nodejs/mocha/lib/runner.js:604:7
>       at next (/usr/share/nodejs/mocha/lib/runner.js:486:14)
>       at Immediate._onImmediate (/usr/share/nodejs/mocha/lib/runner.js:572:5)
>       at processImmediate (internal/timers.js:461:21)
> ok 439 formatter:html when passing a single message with no rule id or message should return a string in HTML format with 1 issue in 1 file
> ok 440 formatter:html when passed a single message with no line or column should return a string in HTML format with 1 issue in 1 file and styled accordingly
> ok 441 formatter:jslint-xml when passed a single message should return a string in JSLint XML format with 1 issue in 1 file
> ok 442 formatter:jslint-xml when passed a fatal error message should return a string in JSLint XML format with 1 issue in 1 file
> ok 443 formatter:jslint-xml when passed multiple messages should return a string in JSLint XML format with 2 issues in 1 file
> ok 444 formatter:jslint-xml when passed multiple files with 1 message each should return a string in JSLint XML format with 2 issues in 2 files
> ok 445 formatter:jslint-xml when passing a single message with illegal characters should return a string in JSLint XML format with 1 issue in 1 file
> ok 446 formatter:jslint-xml when passing a single message with no source should return a string in JSLint XML format with 1 issue in 1 file
> ok 447 formatter:jslint-xml when passing a single message without rule id should return a string in JSLint XML format with 1 issue in 1 file
> ok 448 formatter:json should return passed results and data as a JSON string without any modification
> ok 449 formatter:json should return passed results as a JSON string without any modification
> ok 450 formatter:junit when there are no problems should not complain about anything
> ok 451 formatter:junit when passed a single message should return a single <testcase> with a message and the line and col number in the body (error)
> ok 452 formatter:junit when passed a single message should return a single <testcase> with a message and the line and col number in the body (warning)
> ok 453 formatter:junit when passed a fatal error message should return a single <testcase> and an <error>
> ok 454 formatter:junit when passed a fatal error message with no line or column should return a single <testcase> and an <error>
> ok 455 formatter:junit when passed a fatal error message with no line, column, or message text should return a single <testcase> and an <error>
> ok 456 formatter:junit when passed multiple messages should return a multiple <testcase>'s
> ok 457 formatter:junit when passed special characters should make them go away
> ok 458 formatter:junit when passed multiple files with 1 message each should return 2 <testsuite>'s
> ok 459 formatter:junit when passed multiple files should print even if no errors should return 2 <testsuite>
> ok 460 formatter:junit when passed a file with no errors should print a passing <testcase>
> ok 461 formatter:tap when passed no messages should return nothing
> ok 462 formatter:tap when passed a single message should return a string with YAML severity, line and column
> ok 463 formatter:tap when passed a single message should return a string with line: x, column: y, severity: warning for warnings
> ok 464 formatter:tap when passed a fatal error message should return an error string
> ok 465 formatter:tap when passed a message with a severity of 1 should return a warning string
> ok 466 formatter:tap when passed multiple messages with a severity of 1 should return a string with multiple entries
> ok 467 formatter:tap when passed multiple messages with different error severity should return a string with multiple entries
> ok 468 formatter:tap when passed multiple files with 1 message each should return a string with multiple entries
> ok 469 formatter:tap when passed one file not found message should return a string without line and column
> ok 470 formatter:compact when passed no messages should return nothing
> ok 471 formatter:compact when passed a single message should return a string in the format filename:line:column: error [Error/rule_id]
> ok 472 formatter:compact when passed a single message should return a string in the format filename:line:column: warning [Warning/rule_id]
> ok 473 formatter:compact when passed a fatal error message should return a string in the format filename:line:column: error [Error/rule_id]
> ok 474 formatter:compact when passed multiple messages should return a string with multiple entries
> ok 475 formatter:compact when passed multiple files with 1 message each should return a string with multiple entries
> ok 476 formatter:compact when passed one file not found message should return a string without line and column
> ok 477 formatter:visualstudio when passed no messages should return nothing
> ok 478 formatter:visualstudio when passed a single message should return a string in the format filename(x,y): error z for errors
> ok 479 formatter:visualstudio when passed a single message should return a string in the format filename(x,y): warning z for warnings
> ok 480 formatter:visualstudio when passed a fatal error message should return a string in the format filename(x,y): error  z
> ok 481 formatter:visualstudio when passed multiple messages should return a string with multiple entries
> ok 482 formatter:visualstudio when passed multiple files with 1 message each should return a string with multiple entries
> ok 483 formatter:visualstudio when passed one file not found message should return a string without line and column
> ok 484 when given an invalid rules directory should throw an error
> ok 485 when given a valid rules directory should load rules and not throw an error
> ok 486 options --help should return true for .help when passed
> ok 487 options -h should return true for .help when passed
> ok 488 options --config should return a string for .config when passed a string
> ok 489 options -c should return a string for .config when passed a string
> ok 490 options --ext should return an array with one item when passed .jsx
> ok 491 options --ext should return an array with two items when passed .js and .jsx
> ok 492 options --ext should return an array with two items when passed .jsx,.js
> ok 493 options --ext should return an array one item when not passed
> ok 494 options --rulesdir should return a string for .rulesdir when passed a string
> ok 495 options --format should return a string for .format when passed a string
> ok 496 options --format should return stylish for .format when not passed
> ok 497 options -f should return a string for .format when passed a string
> ok 498 options --version should return true for .version when passed
> ok 499 options -v should return true for .version when passed
> ok 500 options when asking for help should return string of help text when called
> ok 501 options --no-ignore should return false for .ignore when passed
> ok 502 options --ignore-path should return a string for .ignorePath when passed
> ok 503 options --ignore-pattern should return a string array for .ignorePattern when passed
> ok 504 options --ignore-pattern should return a string array for multiple values
> ok 505 options --ignore-pattern should return a string array of properly parsed values, when those values include commas
> ok 506 options --color should return true for .color when passed --color
> ok 507 options --color should return false for .color when passed --no-color
> ok 508 options --stdin should return true for .stdin when passed
> ok 509 options --stdin-filename should return a string for .stdinFilename when passed
> ok 510 options --global should return an array for a single occurrence
> ok 511 options --global should split variable names using commas
> ok 512 options --global should not split on colons
> ok 513 options --global should concatenate successive occurrences
> ok 514 options --plugin should return an array when passed a single occurrence
> ok 515 options --plugin should return an array when passed a comma-delimiated string
> ok 516 options --plugin should return an array when passed multiple times
> ok 517 options --quiet should return true for .quiet when passed
> ok 518 options --max-warnings should return correct value for .maxWarnings when passed
> ok 519 options --max-warnings should return -1 for .maxWarnings when not passed
> ok 520 options --max-warnings should throw an error when supplied with a non-integer
> ok 521 options --init should return true for --init when passed
> ok 522 options --fix should return true for --fix when passed
> ok 523 options --fix-type should return one value with --fix-type is passed
> ok 524 options --fix-type should return two values when --fix-type is passed twice
> ok 525 options --fix-type should return two values when --fix-type is passed a comma-separated value
> ok 526 options --debug should return true for --debug when passed
> ok 527 options --inline-config should return false when passed --no-inline-config
> ok 528 options --inline-config should return true for --inline-config when empty
> ok 529 options --parser should return a string for --parser when passed
> ok 530 options --print-config should return file path when passed --print-config
> ok 531 rules when a rule has been defined should be able to retrieve the rule
> ok 532 rules when a rule has been defined should return the rule as an object with a create() method if the rule was defined as a function
> ok 533 rules when a rule has been defined should return the rule as-is if it was defined as an object with a create() method
> ok 534 rules when a rule is not found should return a stub rule that reports an error if the rule is unknown
> ok 535 rules when a rule is not found should return a stub rule that lists replacements if a rule is known to have been replaced
> ok 536 rules when loading all rules should return a map
> ok 537 accessor-pairs valid var o = { a: 1 };
> ok 538 accessor-pairs valid var o = {
>  get a() {
>  return val; 
> } 
> };
> ok 539 accessor-pairs valid var o = {
>  set a(value) {
>  val = value; 
> },
>  get a() {
>  return val; 
> } 
> };
> ok 540 accessor-pairs valid var o = {a: 1};
>  Object.defineProperty(o, 'b', 
> {set: function(value) {
>  val = value; 
> },
>  get: function() {
>  return val; 
> } 
> });
> ok 541 accessor-pairs valid var expr = 'foo';  var o = { set [expr](value) { val = value; }, get [expr]() { return val; } };
> ok 542 accessor-pairs valid var o = {
>  set a(value) {
>  val = value; 
> } 
> };
> ok 543 accessor-pairs valid var o = {set: function() {}}
> ok 544 accessor-pairs valid Object.defineProperties(obj, {set: {value: function() {}}});
> ok 545 accessor-pairs valid Object.create(null, {set: {value: function() {}}});
> ok 546 accessor-pairs valid var o = {get: function() {}}
> ok 547 accessor-pairs valid var o = {[set]: function() {}}
> ok 548 accessor-pairs valid var set = 'value'; Object.defineProperty(obj, 'foo', {[set]: function(value) {}});
> ok 549 accessor-pairs invalid var o = {
>  set a(value) {
>  val = value; 
> } 
> };
> ok 550 accessor-pairs invalid var o = {
>  get a() {
>  return val; 
> } 
> };
> ok 551 accessor-pairs invalid var o = {d: 1};
>  Object.defineProperty(o, 'c', 
> {set: function(value) {
>  val = value; 
> } 
> });
> ok 552 accessor-pairs invalid Reflect.defineProperty(obj, 'foo', {set: function(value) {}});
> ok 553 accessor-pairs invalid Object.defineProperties(obj, {foo: {set: function(value) {}}});
> ok 554 accessor-pairs invalid Object.create(null, {foo: {set: function(value) {}}});
> ok 555 accessor-pairs invalid var expr = 'foo';  var o = { set [expr](value) { val = value; } };
> ok 556 array-bracket-newline valid var foo = [];
> ok 557 array-bracket-newline valid var foo = [1];
> ok 558 array-bracket-newline valid var foo = /* any comment */[1];
> ok 559 array-bracket-newline valid var foo = /* any comment */
> [1];
> ok 560 array-bracket-newline valid var foo = [1, 2];
> ok 561 array-bracket-newline valid var foo = [ // any comment
> 1, 2
> ];
> ok 562 array-bracket-newline valid var foo = [
> // any comment
> 1, 2
> ];
> ok 563 array-bracket-newline valid var foo = [
> 1, 2
> // any comment
> ];
> ok 564 array-bracket-newline valid var foo = [
> 1,
> 2
> ];
> ok 565 array-bracket-newline valid var foo = [
> function foo() {
> return dosomething();
> }
> ];
> ok 566 array-bracket-newline valid var foo = [/* 
> any comment
>  */];
> ok 567 array-bracket-newline valid var foo = [/* single line multiline comment for no real reason */];
> ok 568 array-bracket-newline valid var foo = [
> ];
> ok 569 array-bracket-newline valid var foo = [
> 1
> ];
> ok 570 array-bracket-newline valid var foo = [
> // any
> 1
> ];
> ok 571 array-bracket-newline valid var foo = [
> /* any */
> 1
> ];
> ok 572 array-bracket-newline valid var foo = [
> 1, 2
> ];
> ok 573 array-bracket-newline valid var foo = [
> 1, 2 // any comment
> ];
> ok 574 array-bracket-newline valid var foo = [
> 1, 2 /* any comment */
> ];
> ok 575 array-bracket-newline valid var foo = [
> 1,
> 2
> ];
> ok 576 array-bracket-newline valid var foo = [
> function foo() {
> dosomething();
> }
> ];
> ok 577 array-bracket-newline valid var foo = [];
> ok 578 array-bracket-newline valid var foo = [1];
> ok 579 array-bracket-newline valid var foo = [/* any comment */1];
> ok 580 array-bracket-newline valid var foo = [1, 2];
> ok 581 array-bracket-newline valid var foo = [1,
> 2];
> ok 582 array-bracket-newline valid var foo = [1,
> /* any comment */
> 2];
> ok 583 array-bracket-newline valid var foo = [function foo() {
> dosomething();
> }];
> ok 584 array-bracket-newline valid var a = []
> ok 585 array-bracket-newline valid var a = [
> ]
> ok 586 array-bracket-newline valid var a = [1]
> ok 587 array-bracket-newline valid var a = [
> 1
> ]
> ok 588 array-bracket-newline valid var foo = [];
> ok 589 array-bracket-newline valid var foo = [1];
> ok 590 array-bracket-newline valid var foo = /* any comment */[1];
> ok 591 array-bracket-newline valid var foo = /* any comment */
> [1];
> ok 592 array-bracket-newline valid var foo = [1, 2];
> ok 593 array-bracket-newline valid var foo = [ // any comment
> 1, 2
> ];
> ok 594 array-bracket-newline valid var foo = [
> // any comment
> 1, 2
> ];
> ok 595 array-bracket-newline valid var foo = [
> 1, 2
> // any comment
> ];
> ok 596 array-bracket-newline valid var foo = [
> 1,
> 2
> ];
> ok 597 array-bracket-newline valid var foo = [
> function foo() {
> return dosomething();
> }
> ];
> ok 598 array-bracket-newline valid var foo = [/* 
> any comment
>  */];
> ok 599 array-bracket-newline valid var foo = [];
> ok 600 array-bracket-newline valid var foo = [1];
> ok 601 array-bracket-newline valid var foo = [1]/* any comment*/;
> ok 602 array-bracket-newline valid var foo = [1]
> /* any comment*/
> ;
> ok 603 array-bracket-newline valid var foo = [1, 2];
> ok 604 array-bracket-newline valid var foo = [1,
> 2];
> ok 605 array-bracket-newline valid var foo = [function foo() {
> return dosomething();
> }];
> ok 606 array-bracket-newline valid var foo = [];
> ok 607 array-bracket-newline valid var foo = [1];
> ok 608 array-bracket-newline valid var foo = [
> 1, 2
> ];
> ok 609 array-bracket-newline valid var foo = [
> 1,
> 2
> ];
> ok 610 array-bracket-newline valid var foo = [function foo() {
> dosomething();
> }];
> ok 611 array-bracket-newline valid var foo = [
> ];
> ok 612 array-bracket-newline valid var foo = [
> 1
> ];
> ok 613 array-bracket-newline valid var foo = [
> 1, 2
> ];
> ok 614 array-bracket-newline valid var foo = [
> 1,
> 2
> ];
> ok 615 array-bracket-newline valid var foo = [
> function foo() {
> dosomething();
> }
> ];
> ok 616 array-bracket-newline valid var foo = [];
> ok 617 array-bracket-newline valid var foo = [1];
> ok 618 array-bracket-newline valid var foo = [1, 2];
> ok 619 array-bracket-newline valid var foo = [1,
> 2];
> ok 620 array-bracket-newline valid var foo = [function foo() {
> dosomething();
> }];
> ok 621 array-bracket-newline valid var foo = [];
> ok 622 array-bracket-newline valid var foo = [1];
> ok 623 array-bracket-newline valid var foo = [1, 2];
> ok 624 array-bracket-newline valid var foo = [
> 1,
> 2
> ];
> ok 625 array-bracket-newline valid var foo = [
> function foo() {
> dosomething();
> }
> ];
> ok 626 array-bracket-newline valid var a = [];
> ok 627 array-bracket-newline valid var b = [1];
> ok 628 array-bracket-newline valid var b = [ // any comment
> 1
> ];
> ok 629 array-bracket-newline valid var b = [ /* any comment */ 1];
> ok 630 array-bracket-newline valid var c = [
> 1, 2
> ];
> ok 631 array-bracket-newline valid var c = [
> /* any comment */1, 2
> ];
> ok 632 array-bracket-newline valid var c = [
> 1, /* any comment */ 2
> ];
> ok 633 array-bracket-newline valid var d = [
> 1,
> 2
> ];
> ok 634 array-bracket-newline valid var e = [
> function foo() {
> dosomething();
> }
> ];
> ok 635 array-bracket-newline valid var [] = foo
> ok 636 array-bracket-newline valid var [a] = foo;
> ok 637 array-bracket-newline valid var /* any comment */[a] = foo;
> ok 638 array-bracket-newline valid var /* any comment */
> [a] = foo;
> ok 639 array-bracket-newline valid var [a, b] = foo;
> ok 640 array-bracket-newline valid var [ // any comment
> a, b
> ] = foo;
> ok 641 array-bracket-newline valid var [
> // any comment
> a, b
> ] = foo;
> ok 642 array-bracket-newline valid var [
> a, b
> // any comment
> ] = foo;
> ok 643 array-bracket-newline valid var [
> a,
> b
> ] = foo;
> ok 644 array-bracket-newline valid var [
> ] = foo;
> ok 645 array-bracket-newline valid var [
> a
> ] = foo;
> ok 646 array-bracket-newline valid var [
> // any
> a
> ] = foo;
> ok 647 array-bracket-newline valid var [
> /* any */
> a
> ] = foo;
> ok 648 array-bracket-newline valid var [
> a, b
> ] = foo;
> ok 649 array-bracket-newline valid var [
> a, b // any comment
> ] = foo;
> ok 650 array-bracket-newline valid var [
> a, b /* any comment */
> ] = foo;
> ok 651 array-bracket-newline valid var [
> a,
> b
> ] = foo;
> ok 652 array-bracket-newline valid var [] = foo
> ok 653 array-bracket-newline valid var [
> ] = foo
> ok 654 array-bracket-newline valid var [a] = foo
> ok 655 array-bracket-newline valid var [
> a
> ] = foo
> ok 656 array-bracket-newline valid var [] = foo;
> ok 657 array-bracket-newline valid var [a] = foo;
> ok 658 array-bracket-newline valid var /* any comment */[a] = foo;
> ok 659 array-bracket-newline valid var /* any comment */
> [a] = foo;
> ok 660 array-bracket-newline valid var [a, b] = foo;
> ok 661 array-bracket-newline valid var [ // any comment
> a, b
> ] = foo;
> ok 662 array-bracket-newline valid var [
> // any comment
> a, b
> ] = foo;
> ok 663 array-bracket-newline valid var [
> a, b
> // any comment
> ] = foo;
> ok 664 array-bracket-newline valid var [
> a,
> b
> ] = foo;
> ok 665 array-bracket-newline invalid var foo = [];
> ok 666 array-bracket-newline invalid var foo = [1];
> ok 667 array-bracket-newline invalid var foo = [ // any comment
> 1];
> ok 668 array-bracket-newline invalid var foo = [ /* any comment */
> 1];
> ok 669 array-bracket-newline invalid var foo = [1, 2];
> ok 670 array-bracket-newline invalid var foo = [1, 2 // any comment
> ];
> ok 671 array-bracket-newline invalid var foo = [1, 2 /* any comment */];
> ok 672 array-bracket-newline invalid var foo = [1,
> 2];
> ok 673 array-bracket-newline invalid var foo = [function foo() {
> dosomething();
> }];
> ok 674 array-bracket-newline invalid var foo = [
> ];
> ok 675 array-bracket-newline invalid var foo = [
> 1
> ];
> ok 676 array-bracket-newline invalid var foo = [
> 1
> ];
> ok 677 array-bracket-newline invalid var foo = [ /* any comment */
> 1, 2
> ];
> ok 678 array-bracket-newline invalid var foo = [
> 1, 2
> /* any comment */];
> ok 679 array-bracket-newline invalid var foo = [ // any comment
> 1, 2
> ];
> ok 680 array-bracket-newline invalid var foo = [
> 1,
> 2
> ];
> ok 681 array-bracket-newline invalid var foo = [
> function foo() {
> dosomething();
> }
> ];
> ok 682 array-bracket-newline invalid var foo = [
> 1]
> ok 683 array-bracket-newline invalid var foo = [1
> ]
> ok 684 array-bracket-newline invalid var foo = [
> ];
> ok 685 array-bracket-newline invalid var foo = [
> // any comment
> ];
> ok 686 array-bracket-newline invalid var foo = [
> 1
> ];
> ok 687 array-bracket-newline invalid var foo = [
> 1, 2
> ];
> ok 688 array-bracket-newline invalid var foo = [1,
> 2];
> ok 689 array-bracket-newline invalid var foo = [function foo() {
> dosomething();
> }];
> ok 690 array-bracket-newline invalid var foo = [
> ];
> ok 691 array-bracket-newline invalid var foo = [
> 1
> ];
> ok 692 array-bracket-newline invalid var foo = [1, 2];
> ok 693 array-bracket-newline invalid var foo = [1,
> 2];
> ok 694 array-bracket-newline invalid var foo = [
> function foo() {
> dosomething();
> }
> ];
> ok 695 array-bracket-newline invalid var foo = [];
> ok 696 array-bracket-newline invalid var foo = [1];
> ok 697 array-bracket-newline invalid var foo = [1, 2];
> ok 698 array-bracket-newline invalid var foo = [1,
> 2];
> ok 699 array-bracket-newline invalid var foo = [function foo() {
> dosomething();
> }];
> ok 700 array-bracket-newline invalid var foo = [
> ];
> ok 701 array-bracket-newline invalid var foo = [
> 1
> ];
> ok 702 array-bracket-newline invalid var foo = [
> 1, 2
> ];
> ok 703 array-bracket-newline invalid var foo = [
> 1,
> 2
> ];
> ok 704 array-bracket-newline invalid var foo = [
> function foo() {
> dosomething();
> }
> ];
> ok 705 array-bracket-newline invalid var foo = [
> ];
> ok 706 array-bracket-newline invalid var foo = [
> 1
> ];
> ok 707 array-bracket-newline invalid var foo = [
> 1, 2
> ];
> ok 708 array-bracket-newline invalid var foo = [1,
> 2];
> ok 709 array-bracket-newline invalid var foo = [function foo() {
> dosomething();
> }];
> ok 710 array-bracket-newline invalid var foo = [
> ];
> ok 711 array-bracket-newline invalid var foo = [
> 1
> ];
> ok 712 array-bracket-newline invalid var foo = [1, 2];
> ok 713 array-bracket-newline invalid var foo = [1,
> 2];
> ok 714 array-bracket-newline invalid var foo = [function foo() {
> dosomething();
> }];
> ok 715 array-bracket-newline invalid var foo = [
> 1, 2];
> ok 716 array-bracket-newline invalid var foo = [	1, 2];
> ok 717 array-bracket-newline invalid var foo = [1,
> 2
> ];
> ok 718 array-bracket-newline invalid var foo = [
> ];
> ok 719 array-bracket-newline invalid var foo = [
> 1
> ];
> ok 720 array-bracket-newline invalid var foo = [
> 1, 2
> ];
> ok 721 array-bracket-newline invalid var foo = [
> 1,
> 2
> ];
> ok 722 array-bracket-newline invalid var foo = [
> function foo() {
> dosomething();
> }
> ];
> ok 723 array-bracket-newline invalid var [] = foo;
> ok 724 array-bracket-newline invalid var [a] = foo;
> ok 725 array-bracket-newline invalid var [ // any comment
> a] = foo;
> ok 726 array-bracket-newline invalid var [ /* any comment */
> a] = foo;
> ok 727 array-bracket-newline invalid var [a, b] = foo;
> ok 728 array-bracket-newline invalid var [a, b // any comment
> ] = foo;
> ok 729 array-bracket-newline invalid var [a, b /* any comment */] = foo;
> ok 730 array-bracket-newline invalid var [a,
> b] = foo;
> ok 731 array-bracket-newline invalid var [
> a] = foo
> ok 732 array-bracket-newline invalid var [a
> ] = foo
> ok 733 array-bracket-newline invalid var [
> ] = foo;
> ok 734 array-bracket-newline invalid var [
> a
> ] = foo;
> ok 735 array-bracket-newline invalid var [a, b] = foo;
> ok 736 array-bracket-newline invalid var [a,
> b] = foo;
> ok 737 array-bracket-spacing valid var foo = obj[ 1 ]
> ok 738 array-bracket-spacing valid var foo = obj[ 'foo' ];
> ok 739 array-bracket-spacing valid var foo = obj[ [ 1, 1 ] ];
> ok 740 array-bracket-spacing valid var foo = ['foo']
> ok 741 array-bracket-spacing valid var foo = [2]
> ok 742 array-bracket-spacing valid var foo = [[ 1, 1 ]]
> ok 743 array-bracket-spacing valid var foo = [{ 'foo': 'bar' }]
> ok 744 array-bracket-spacing valid var foo = [bar]
> ok 745 array-bracket-spacing valid var foo = [{ 'bar': 'baz' }, 1,  5 ];
> ok 746 array-bracket-spacing valid var foo = [ 1, 5, { 'bar': 'baz' }];
> ok 747 array-bracket-spacing valid var foo = [{
> 'bar': 'baz', 
> 'qux': [{ 'bar': 'baz' }], 
> 'quxx': 1 
> }]
> ok 748 array-bracket-spacing valid var foo = [{ 'bar': 'baz' }]
> ok 749 array-bracket-spacing valid var foo = [{ 'bar': 'baz' }, 1, { 'bar': 'baz' }];
> ok 750 array-bracket-spacing valid var foo = [ 1, { 'bar': 'baz' }, 5 ];
> ok 751 array-bracket-spacing valid var foo = [ 1, { 'bar': 'baz' }, [{ 'bar': 'baz' }] ];
> ok 752 array-bracket-spacing valid var foo = [ function(){} ];
> ok 753 array-bracket-spacing valid var arr = [[ 1, 2 ], 2, 3, 4 ];
> ok 754 array-bracket-spacing valid var arr = [[ 1, 2 ], [[[ 1 ]]], 3, 4 ];
> ok 755 array-bracket-spacing valid var foo = [ arr[i], arr[j] ];
> ok 756 array-bracket-spacing valid var arr = [[ 1, 2 ], 2, 3, { 'foo': 'bar' }];
> ok 757 array-bracket-spacing valid var arr = [[ 1, 2 ], [2], 3, { 'foo': 'bar' }];
> ok 758 array-bracket-spacing valid obj[ foo ]
> ok 759 array-bracket-spacing valid obj[
> foo
> ]
> ok 760 array-bracket-spacing valid obj[ 'foo' ]
> ok 761 array-bracket-spacing valid obj[ 'foo' + 'bar' ]
> ok 762 array-bracket-spacing valid obj[ obj2[ foo ] ]
> ok 763 array-bracket-spacing valid obj.map(function(item) { return [
> 1,
> 2,
> 3,
> 4
> ]; })
> ok 764 array-bracket-spacing valid obj[ 'map' ](function(item) { return [
> 1,
> 2,
> 3,
> 4
> ]; })
> ok 765 array-bracket-spacing valid obj[ 'for' + 'Each' ](function(item) { return [
> 1,
> 2,
> 3,
> 4
> ]; })
> ok 766 array-bracket-spacing valid var arr = [ 1, 2, 3, 4 ];
> ok 767 array-bracket-spacing valid var arr = [ [ 1, 2 ], 2, 3, 4 ];
> ok 768 array-bracket-spacing valid var arr = [
> 1, 2, 3, 4
> ];
> ok 769 array-bracket-spacing valid var foo = [];
> ok 770 array-bracket-spacing valid this.db.mappings.insert([
>  { alias: 'a', url: 'http://www.amazon.de' },
>  { alias: 'g', url: 'http://www.google.de' }
> ], function() {});
> ok 771 array-bracket-spacing valid var [ x, y ] = z
> ok 772 array-bracket-spacing valid var [ x,y ] = z
> ok 773 array-bracket-spacing valid var [ x, y
> ] = z
> ok 774 array-bracket-spacing valid var [
> x, y ] = z
> ok 775 array-bracket-spacing valid var [
> x, y
> ] = z
> ok 776 array-bracket-spacing valid var [
> x,,,
> ] = z
> ok 777 array-bracket-spacing valid var [ ,x, ] = z
> ok 778 array-bracket-spacing valid var [
> x, ...y
> ] = z
> ok 779 array-bracket-spacing valid var [
> x, ...y ] = z
> ok 780 array-bracket-spacing valid var [[ x, y ], z ] = arr;
> ok 781 array-bracket-spacing valid var [ x, [ y, z ]] = arr;
> ok 782 array-bracket-spacing valid [{ x, y }, z ] = arr;
> ok 783 array-bracket-spacing valid [ x, { y, z }] = arr;
> ok 784 array-bracket-spacing valid obj[foo]
> ok 785 array-bracket-spacing valid obj['foo']
> ok 786 array-bracket-spacing valid obj['foo' + 'bar']
> ok 787 array-bracket-spacing valid obj['foo'+'bar']
> ok 788 array-bracket-spacing valid obj[obj2[foo]]
> ok 789 array-bracket-spacing valid obj.map(function(item) { return [
> 1,
> 2,
> 3,
> 4
> ]; })
> ok 790 array-bracket-spacing valid obj['map'](function(item) { return [
> 1,
> 2,
> 3,
> 4
> ]; })
> ok 791 array-bracket-spacing valid obj['for' + 'Each'](function(item) { return [
> 1,
> 2,
> 3,
> 4
> ]; })
> ok 792 array-bracket-spacing valid var arr = [1, 2, 3, 4];
> ok 793 array-bracket-spacing valid var arr = [[1, 2], 2, 3, 4];
> ok 794 array-bracket-spacing valid var arr = [
> 1, 2, 3, 4
> ];
> ok 795 array-bracket-spacing valid obj[
> foo]
> ok 796 array-bracket-spacing valid obj[foo
> ]
> ok 797 array-bracket-spacing valid var arr = [1,
> 2,
> 3,
> 4
> ];
> ok 798 array-bracket-spacing valid var arr = [
> 1,
> 2,
> 3,
> 4];
> ok 799 array-bracket-spacing valid var [x, y] = z
> ok 800 array-bracket-spacing valid var [x,y] = z
> ok 801 array-bracket-spacing valid var [x, y
> ] = z
> ok 802 array-bracket-spacing valid var [
> x, y] = z
> ok 803 array-bracket-spacing valid var [
> x, y
> ] = z
> ok 804 array-bracket-spacing valid var [
> x,,,
> ] = z
> ok 805 array-bracket-spacing valid var [,x,] = z
> ok 806 array-bracket-spacing valid var [
> x, ...y
> ] = z
> ok 807 array-bracket-spacing valid var [
> x, ...y] = z
> ok 808 array-bracket-spacing valid var [ [x, y], z] = arr;
> ok 809 array-bracket-spacing valid var [x, [y, z] ] = arr;
> ok 810 array-bracket-spacing valid [ { x, y }, z] = arr;
> ok 811 array-bracket-spacing valid [x, { y, z } ] = arr;
> ok 812 array-bracket-spacing valid var foo = [ 'foo' ]
> ok 813 array-bracket-spacing valid var foo = [ 2 ]
> ok 814 array-bracket-spacing valid var foo = [ [1, 1] ]
> ok 815 array-bracket-spacing valid var foo = [ {'foo': 'bar'} ]
> ok 816 array-bracket-spacing valid var foo = [ bar ]
> ok 817 array-bracket-spacing valid var foo = [ {'bar': 'baz'}, 1, 5];
> ok 818 array-bracket-spacing valid var foo = [1, 5, {'bar': 'baz'} ];
> ok 819 array-bracket-spacing valid var foo = [ {
> 'bar': 'baz', 
> 'qux': [ {'bar': 'baz'} ], 
> 'quxx': 1 
> } ]
> ok 820 array-bracket-spacing valid var foo = [ {'bar': 'baz'} ]
> ok 821 array-bracket-spacing valid var foo = [ {'bar': 'baz'}, 1, {'bar': 'baz'} ];
> ok 822 array-bracket-spacing valid var foo = [1, {'bar': 'baz'} , 5];
> ok 823 array-bracket-spacing valid var foo = [1, {'bar': 'baz'}, [ {'bar': 'baz'} ]];
> ok 824 array-bracket-spacing valid var foo = [function(){}];
> ok 825 array-bracket-spacing valid var foo = [];
> ok 826 array-bracket-spacing valid var arr = [ [1, 2], 2, 3, 4];
> ok 827 array-bracket-spacing valid var foo = [arr[i], arr[j]];
> ok 828 array-bracket-spacing valid var foo = [];
> ok 829 array-bracket-spacing valid var arr = [ [1, 2], [ [ [ 1 ] ] ], 3, 4];
> ok 830 array-bracket-spacing valid var arr = [ [1, 2], 2, 3, {'foo': 'bar'} ];
> ok 831 array-bracket-spacing valid var foo = {};
> ok 832 array-bracket-spacing valid var foo = [];
> ok 833 array-bracket-spacing valid var foo = [{'bar':'baz'}, 1, {'bar': 'baz'}];
> ok 834 array-bracket-spacing valid var foo = [{'bar': 'baz'}];
> ok 835 array-bracket-spacing valid var foo = [{
> 'bar': 'baz', 
> 'qux': [{'bar': 'baz'}], 
> 'quxx': 1 
> }]
> ok 836 array-bracket-spacing valid var foo = [1, {'bar': 'baz'}, 5];
> ok 837 array-bracket-spacing valid var foo = [{'bar': 'baz'}, 1,  5];
> ok 838 array-bracket-spacing valid var foo = [1, 5, {'bar': 'baz'}];
> ok 839 array-bracket-spacing valid var obj = {'foo': [1, 2]}
> ok 840 array-bracket-spacing valid ([ a, b ]: Array<any>) => {}
> ok 841 array-bracket-spacing valid ([a, b]: Array< any >) => {}
> ok 842 array-bracket-spacing invalid var foo = [ ]
> ok 843 array-bracket-spacing invalid var foo = [ { 'bar': 'baz' }, 1,  5];
> ok 844 array-bracket-spacing invalid var foo = [1, 5, { 'bar': 'baz' } ];
> ok 845 array-bracket-spacing invalid var foo = [ { 'bar':'baz' }, 1, { 'bar': 'baz' } ];
> ok 846 array-bracket-spacing invalid var obj = [ 'foo' ];
> ok 847 array-bracket-spacing invalid var obj = ['foo' ];
> ok 848 array-bracket-spacing invalid var obj = ['foo'];
> ok 849 array-bracket-spacing invalid var arr = [ [ 1, 2 ], 2, 3, 4 ];
> ok 850 array-bracket-spacing invalid var arr = [ 1, 2, 2, [ 3, 4 ] ];
> ok 851 array-bracket-spacing invalid var arr = [[ 1, 2 ], 2, [ 3, 4 ] ];
> ok 852 array-bracket-spacing invalid var arr = [ [ 1, 2 ], 2, [ 3, 4 ]];
> ok 853 array-bracket-spacing invalid var arr = [ [ 1, 2 ], 2, [ 3, 4 ] ];
> ok 854 array-bracket-spacing invalid var [x,y] = y
> ok 855 array-bracket-spacing invalid var [x,y ] = y
> ok 856 array-bracket-spacing invalid var [,,,x,,] = y
> ok 857 array-bracket-spacing invalid var [ ,,,x,,] = y
> ok 858 array-bracket-spacing invalid var [...horse] = y
> ok 859 array-bracket-spacing invalid var [...horse ] = y
> ok 860 array-bracket-spacing invalid var [ [ x, y ], z ] = arr;
> ok 861 array-bracket-spacing invalid [ { x, y }, z ] = arr;
> ok 862 array-bracket-spacing invalid [ x, { y, z } ] = arr;
> ok 863 array-bracket-spacing invalid var arr = [[1, 2], 2, [3, 4]];
> ok 864 array-bracket-spacing invalid var arr = [ ];
> ok 865 array-bracket-spacing invalid var arr = [ ];
> ok 866 array-bracket-spacing invalid var arr = [1, 2, 3, 4];
> ok 867 array-bracket-spacing invalid var arr = [1, 2, 3, 4 ];
> ok 868 array-bracket-spacing invalid var arr = [ 1, 2, 3, 4];
> ok 869 array-bracket-spacing invalid var arr = [ 1, 2, 3, 4 ];
> ok 870 array-bracket-spacing invalid var arr = [1, 2, 3, 4 ];
> ok 871 array-bracket-spacing invalid var arr = [ 1, 2, 3, 4];
> ok 872 array-bracket-spacing invalid var arr = [ [ 1], 2, 3, 4];
> ok 873 array-bracket-spacing invalid var arr = [[1 ], 2, 3, 4 ];
> ok 874 array-bracket-spacing invalid ([ a, b ]: Array<any>) => {}
> ok 875 array-bracket-spacing invalid ([a, b]: Array< any >) => {}
> ok 876 array-callback-return valid Array.from(x, function() { return true; })
> ok 877 array-callback-return valid Int32Array.from(x, function() { return true; })
> ok 878 array-callback-return valid Array.from(x, function() { return true; })
> ok 879 array-callback-return valid Int32Array.from(x, function() { return true; })
> ok 880 array-callback-return valid Array.from(x, function() { return; })
> ok 881 array-callback-return valid Int32Array.from(x, function() { return; })
> ok 882 array-callback-return valid Arrow.from(x, function() {})
> ok 883 array-callback-return valid foo.every(function() { return true; })
> ok 884 array-callback-return valid foo.filter(function() { return true; })
> ok 885 array-callback-return valid foo.find(function() { return true; })
> ok 886 array-callback-return valid foo.findIndex(function() { return true; })
> ok 887 array-callback-return valid foo.map(function() { return true; })
> ok 888 array-callback-return valid foo.reduce(function() { return true; })
> ok 889 array-callback-return valid foo.reduceRight(function() { return true; })
> ok 890 array-callback-return valid foo.some(function() { return true; })
> ok 891 array-callback-return valid foo.sort(function() { return 0; })
> ok 892 array-callback-return valid foo.every(function() { return; })
> ok 893 array-callback-return valid foo.filter(function() { return; })
> ok 894 array-callback-return valid foo.find(function() { return; })
> ok 895 array-callback-return valid foo.findIndex(function() { return; })
> ok 896 array-callback-return valid foo.map(function() { return; })
> ok 897 array-callback-return valid foo.reduce(function() { return; })
> ok 898 array-callback-return valid foo.reduceRight(function() { return; })
> ok 899 array-callback-return valid foo.some(function() { return; })
> ok 900 array-callback-return valid foo.sort(function() { return; })
> ok 901 array-callback-return valid foo.abc(function() {})
> ok 902 array-callback-return valid every(function() {})
> ok 903 array-callback-return valid foo[every](function() {})
> ok 904 array-callback-return valid var every = function() {}
> ok 905 array-callback-return valid foo[`${every}`](function() {})
> ok 906 array-callback-return valid foo.every(() => true)
> ok 907 array-callback-return valid foo.every(() => { return true; })
> ok 908 array-callback-return valid foo.every(function() { if (a) return true; else return false; })
> ok 909 array-callback-return valid foo.every(function() { switch (a) { case 0: bar(); default: return true; } })
> ok 910 array-callback-return valid foo.every(function() { try { bar(); return true; } catch (err) { return false; } })
> ok 911 array-callback-return valid foo.every(function() { try { bar(); } finally { return true; } })
> ok 912 array-callback-return valid foo.every(() => { return; })
> ok 913 array-callback-return valid foo.every(function() { if (a) return; else return a; })
> ok 914 array-callback-return valid foo.every(function() { switch (a) { case 0: bar(); default: return; } })
> ok 915 array-callback-return valid foo.every(function() { try { bar(); return; } catch (err) { return; } })
> ok 916 array-callback-return valid foo.every(function() { try { bar(); } finally { return; } })
> ok 917 array-callback-return valid foo.every(function(){}())
> ok 918 array-callback-return valid foo.every(function(){ return function() { return true; }; }())
> ok 919 array-callback-return valid foo.every(function(){ return function() { return; }; })
> ok 920 array-callback-return valid foo.map(async function(){})
> ok 921 array-callback-return valid foo.map(async () => {})
> ok 922 array-callback-return valid foo.map(function* () {})
> ok 923 array-callback-return invalid Array.from(x, function() {})
> ok 924 array-callback-return invalid Array.from(x, function foo() {})
> ok 925 array-callback-return invalid Int32Array.from(x, function() {})
> ok 926 array-callback-return invalid Int32Array.from(x, function foo() {})
> ok 927 array-callback-return invalid foo.every(function() {})
> ok 928 array-callback-return invalid foo.every(function foo() {})
> ok 929 array-callback-return invalid foo.filter(function() {})
> ok 930 array-callback-return invalid foo.filter(function foo() {})
> ok 931 array-callback-return invalid foo.find(function() {})
> ok 932 array-callback-return invalid foo.find(function foo() {})
> ok 933 array-callback-return invalid foo.findIndex(function() {})
> ok 934 array-callback-return invalid foo.findIndex(function foo() {})
> ok 935 array-callback-return invalid foo.map(function() {})
> ok 936 array-callback-return invalid foo.map(function foo() {})
> ok 937 array-callback-return invalid foo.reduce(function() {})
> ok 938 array-callback-return invalid foo.reduce(function foo() {})
> ok 939 array-callback-return invalid foo.reduceRight(function() {})
> ok 940 array-callback-return invalid foo.reduceRight(function foo() {})
> ok 941 array-callback-return invalid foo.some(function() {})
> ok 942 array-callback-return invalid foo.some(function foo() {})
> ok 943 array-callback-return invalid foo.sort(function() {})
> ok 944 array-callback-return invalid foo.sort(function foo() {})
> ok 945 array-callback-return invalid foo.bar.baz.every(function() {})
> ok 946 array-callback-return invalid foo.bar.baz.every(function foo() {})
> ok 947 array-callback-return invalid foo["every"](function() {})
> ok 948 array-callback-return invalid foo["every"](function foo() {})
> ok 949 array-callback-return invalid foo[`every`](function() {})
> ok 950 array-callback-return invalid foo[`every`](function foo() {})
> ok 951 array-callback-return invalid foo.every(() => {})
> ok 952 array-callback-return invalid foo.every(function() { if (a) return true; })
> ok 953 array-callback-return invalid foo.every(function cb() { if (a) return true; })
> ok 954 array-callback-return invalid foo.every(function() { switch (a) { case 0: break; default: return true; } })
> ok 955 array-callback-return invalid foo.every(function foo() { switch (a) { case 0: break; default: return true; } })
> ok 956 array-callback-return invalid foo.every(function() { try { bar(); } catch (err) { return true; } })
> ok 957 array-callback-return invalid foo.every(function foo() { try { bar(); } catch (err) { return true; } })
> ok 958 array-callback-return invalid foo.every(function() { return; })
> ok 959 array-callback-return invalid foo.every(function foo() { return; })
> ok 960 array-callback-return invalid foo.every(function() { if (a) return; })
> ok 961 array-callback-return invalid foo.every(function foo() { if (a) return; })
> ok 962 array-callback-return invalid foo.every(function() { if (a) return; else return; })
> ok 963 array-callback-return invalid foo.every(function foo() { if (a) return; else return; })
> ok 964 array-callback-return invalid foo.every(cb || function() {})
> ok 965 array-callback-return invalid foo.every(cb || function foo() {})
> ok 966 array-callback-return invalid foo.every(a ? function() {} : function() {})
> ok 967 array-callback-return invalid foo.every(a ? function foo() {} : function bar() {})
> ok 968 array-callback-return invalid foo.every(function(){ return function() {}; }())
> ok 969 array-callback-return invalid foo.every(function(){ return function foo() {}; }())
> ok 970 array-callback-return invalid foo.every(() => {})
> ok 971 array-callback-return invalid foo.every(() => {})
> ok 972 array-element-newline valid var foo = [];
> ok 973 array-element-newline valid var foo = [1];
> ok 974 array-element-newline valid var foo = [1,
> 2];
> ok 975 array-element-newline valid var foo = [1, // any comment
> 2];
> ok 976 array-element-newline valid var foo = [// any comment 
> 1,
> 2];
> ok 977 array-element-newline valid var foo = [1,
> 2 // any comment
> ];
> ok 978 array-element-newline valid var foo = [1,
> 2,
> 3];
> ok 979 array-element-newline valid var foo = [1
> , (2
> , 3)];
> ok 980 array-element-newline valid var foo = [1,
> (  2   ),
> 3];
> ok 981 array-element-newline valid var foo = [1,
> ((((2)))),
> 3];
> ok 982 array-element-newline valid var foo = [1,
> (
> 2
> ),
> 3];
> ok 983 array-element-newline valid var foo = [1,
> (2),
> 3];
> ok 984 array-element-newline valid var foo = [1,
> (2)
> , 3];
> ok 985 array-element-newline valid var foo = [1
> , 2
> , 3];
> ok 986 array-element-newline valid var foo = [1,
> 2,
> ,
> 3];
> ok 987 array-element-newline valid var foo = [
> function foo() {
> dosomething();
> },
> function bar() {
> osomething();
> }
> ];
> ok 988 array-element-newline valid var foo = [];
> ok 989 array-element-newline valid var foo = [1];
> ok 990 array-element-newline valid var foo = [1,
> 2];
> ok 991 array-element-newline valid var foo = [1,
> (2)];
> ok 992 array-element-newline valid var foo = [1
> , (2)];
> ok 993 array-element-newline valid var foo = [1, // any comment
> 2];
> ok 994 array-element-newline valid var foo = [// any comment 
> 1,
> 2];
> ok 995 array-element-newline valid var foo = [1,
> 2 // any comment
> ];
> ok 996 array-element-newline valid var foo = [1,
> 2,
> 3];
> ok 997 array-element-newline valid var foo = [
> function foo() {
> dosomething();
> },
> function bar() {
> dosomething();
> }
> ];
> ok 998 array-element-newline valid var foo = [];
> ok 999 array-element-newline valid var foo = [1];
> ok 1000 array-element-newline valid var foo = [1, 2];
> ok 1001 array-element-newline valid var foo = [1, /* any comment */ 2];
> ok 1002 array-element-newline valid var foo = [/* any comment */ 1, 2];
> ok 1003 array-element-newline valid var foo = /* any comment */ [1, 2];
> ok 1004 array-element-newline valid var foo = [1, 2, 3];
> ok 1005 array-element-newline valid var foo = [1, (
> 2
> ), 3];
> ok 1006 array-element-newline valid var foo = [
> function foo() {
> dosomething();
> }, function bar() {
> dosomething();
> }
> ];
> ok 1007 array-element-newline valid var foo = [];
> ok 1008 array-element-newline valid var foo = [1];
> ok 1009 array-element-newline valid var foo = [1, 2];
> ok 1010 array-element-newline valid var foo = [1,
> 2];
> ok 1011 array-element-newline valid var foo = [1, 2, 3];
> ok 1012 array-element-newline valid var foo = [1,
> 2,
> 3];
> ok 1013 array-element-newline valid var foo = [1,
> 2,
> ,
> 3];
> ok 1014 array-element-newline valid var foo = [1, // any comment
> 2];
> ok 1015 array-element-newline valid var foo = [/* any comment */ 1, 2];
> ok 1016 array-element-newline valid var foo = [1, (
> 2
> ), 3];
> ok 1017 array-element-newline valid var foo = [1,
> (2)
> , 3];
> ok 1018 array-element-newline valid var foo = [
> function foo() {
> dosomething();
> },
> function bar() {
> dosomething();
> }
> ];
> ok 1019 array-element-newline valid var foo = [
> function foo() {
> dosomething();
> }, function bar() {
> dosomething();
> }
> ];
> ok 1020 array-element-newline valid var foo = [
> function foo() {
> dosomething();
> },
> function bar() {
> dosomething();
> },
> function bar() {
> dosomething();
> }];
> ok 1021 array-element-newline valid var foo = [
> function foo() {
> dosomething();
> }, function bar() {
> dosomething();
> }, function bar() {
> dosomething();
> }];
> ok 1022 array-element-newline valid var foo = [];
> ok 1023 array-element-newline valid var foo = [1];
> ok 1024 array-element-newline valid var foo = [1, 2];
> ok 1025 array-element-newline valid var foo = [1, 2, 3];
> ok 1026 array-element-newline valid var f = [
> function foo() {
> dosomething();
> },
> function bar() {
> dosomething();
> }
> ];
> ok 1027 array-element-newline valid var foo = [];
> ok 1028 array-element-newline valid var foo = [1];
> ok 1029 array-element-newline valid var foo = [1, 2];
> ok 1030 array-element-newline valid var foo = [1, 2, 3];
> ok 1031 array-element-newline valid var foo = [
> function foo() {
> dosomething();
> }, function bar() {
> dosomething();
> }
> ];
> ok 1032 array-element-newline valid var foo = [];
> ok 1033 array-element-newline valid var foo = [1];
> ok 1034 array-element-newline valid var foo = [1,
> 2];
> ok 1035 array-element-newline valid var foo = [1,
> 2,
> 3];
> ok 1036 array-element-newline valid var foo = [
> function foo() {
> dosomething();
> },
> function bar() {
> dosomething();
> }
> ];
> ok 1037 array-element-newline valid var foo = [];
> ok 1038 array-element-newline valid var foo = [1];
> ok 1039 array-element-newline valid var foo = [1, 2];
> ok 1040 array-element-newline valid var foo = [1,
> 2,
> 3];
> ok 1041 array-element-newline valid var foo = [
> function foo() {
> dosomething();
> }, function bar() {
> dosomething();
> }
> ];
> ok 1042 array-element-newline valid var foo = [];
> ok 1043 array-element-newline valid var foo = [1];
> ok 1044 array-element-newline valid var foo = [1, 2];
> ok 1045 array-element-newline valid var foo = [1, // any comment
> 2,
> , 3];
> ok 1046 array-element-newline valid var foo = [1,
> 2,
> // any comment
> , 3];
> ok 1047 array-element-newline valid var foo = [
> function foo() {
> dosomething();
> },
> function bar() {
> dosomething();
> }
> ];
> ok 1048 array-element-newline valid var [] = foo;
> ok 1049 array-element-newline valid var [a] = foo;
> ok 1050 array-element-newline valid var [a,
> b] = foo;
> ok 1051 array-element-newline valid var [a, // any comment
> b] = foo;
> ok 1052 array-element-newline valid var [// any comment 
> a,
> b] = foo;
> ok 1053 array-element-newline valid var [a,
> b // any comment
> ] = foo;
> ok 1054 array-element-newline valid var [a,
> b,
> b] = foo;
> ok 1055 array-element-newline valid var [] = foo;
> ok 1056 array-element-newline valid var [a] = foo;
> ok 1057 array-element-newline valid var [a, b] = foo;
> ok 1058 array-element-newline valid var [a,
> b,
> c] = foo;
> ok 1059 array-element-newline invalid var foo = [1, 2];
> ok 1060 array-element-newline invalid var foo = [1, 2, 3];
> ok 1061 array-element-newline invalid var foo = [1,2, 3];
> ok 1062 array-element-newline invalid var foo = [1, (2), 3];
> ok 1063 array-element-newline invalid var foo = [1,(
> 2
> ), 3];
> ok 1064 array-element-newline invalid var foo = [1,        	      (
> 2
> ),
> 3];
> ok 1065 array-element-newline invalid var foo = [1, ((((2)))), 3];
> ok 1066 array-element-newline invalid var foo = [1,/* any comment */(2), 3];
> ok 1067 array-element-newline invalid var foo = [1,(  2), 3];
> ok 1068 array-element-newline invalid var foo = [1, [2], 3];
> ok 1069 array-element-newline invalid var foo = [
> function foo() {
> dosomething();
> }, function bar() {
> dosomething();
> }
> ];
> ok 1070 array-element-newline invalid var foo = [
> (function foo() {
> dosomething();
> }), function bar() {
> dosomething();
> }
> ];
> ok 1071 array-element-newline invalid var foo = [
> 1,
> 2
> ];
> ok 1072 array-element-newline invalid var foo = [
> 1
> , 2
> ];
> ok 1073 array-element-newline invalid var foo = [
> 1 // any comment
> , 2
> ];
> ok 1074 array-element-newline invalid var foo = [
> 1, // any comment
> 2
> ];
> ok 1075 array-element-newline invalid var foo = [
> 1,
> 2 // any comment
> ];
> ok 1076 array-element-newline invalid var foo = [
> 1,
> 2,
> 3
> ];
> ok 1077 array-element-newline invalid var foo = [
> function foo() {
> dosomething();
> },
> function bar() {
> dosomething();
> }
> ];
> ok 1078 array-element-newline invalid var foo = [
> function foo() {
> dosomething();
> }, /* any comment */
> function bar() {
> dosomething();
> }
> ];
> ok 1079 array-element-newline invalid var foo = [1,
> 2, 3];
> ok 1080 array-element-newline invalid var foo = [1, 2,
> 3];
> ok 1081 array-element-newline invalid var foo = [1,
> (
> 2), 3];
> ok 1082 array-element-newline invalid var foo = [1,        	      (
> 2
> ),
> 3];
> ok 1083 array-element-newline invalid var foo = [1, /* any comment */(2),
> 3];
> ok 1084 array-element-newline invalid var foo = [
> function foo() {
> dosomething();
> },function bar() {
> dosomething();
> },
> function bar() {
> dosomething();
> }];
> ok 1085 array-element-newline invalid var foo = [1,
> 2, 3];
> ok 1086 array-element-newline invalid var foo = [
> function foo() {
> dosomething();
> }, function bar() {
> dosomething();
> }
> ];
> ok 1087 array-element-newline invalid var foo = [
> function foo() {
> dosomething();
> }, /* any comment */ function bar() {
> dosomething();
> }
> ];
> ok 1088 array-element-newline invalid var foo = [1,
> 2];
> ok 1089 array-element-newline invalid var foo = [1,
> 2,
> 3];
> ok 1090 array-element-newline invalid var foo = [
> function foo() {
> dosomething();
> },
> function bar() {
> dosomething();
> }
> ];
> ok 1091 array-element-newline invalid var foo = [1, 2];
> ok 1092 array-element-newline invalid var foo = [1, 2, 3];
> ok 1093 array-element-newline invalid var foo = [
> function foo() {
> dosomething();
> }, function bar() {
> dosomething();
> }
> ];
> ok 1094 array-element-newline invalid var foo = [1,
> 2];
> ok 1095 array-element-newline invalid var foo = [1, 2, 3];
> ok 1096 array-element-newline invalid var foo = [
> function foo() {
> dosomething();
> },
> function bar() {
> dosomething();
> }
> ];
> ok 1097 array-element-newline invalid var foo = [1, 2, 3];
> ok 1098 array-element-newline invalid var foo = [1,
> 2];
> ok 1099 array-element-newline invalid var foo = [
> function foo() {
> dosomething();
> }, function bar() {
> dosomething();
> }
> ];
> ok 1100 array-element-newline invalid var [a, b] = foo;
> ok 1101 array-element-newline invalid var [a, b, c] = foo;
> ok 1102 array-element-newline invalid var [a,
> b] = foo;
> ok 1103 array-element-newline invalid var [a, b, c] = foo;
> ok 1104 arrow-body-style valid var foo = () => {};
> ok 1105 arrow-body-style valid var foo = () => 0;
> ok 1106 arrow-body-style valid var addToB = (a) => { b =  b + a };
> ok 1107 arrow-body-style valid var foo = () => { /* do nothing */ };
> ok 1108 arrow-body-style valid var foo = () => {
>  /* do nothing */ 
> };
> ok 1109 arrow-body-style valid var foo = (retv, name) => {
> retv[name] = true;
> return retv;
> };
> ok 1110 arrow-body-style valid var foo = () => ({});
> ok 1111 arrow-body-style valid var foo = () => bar();
> ok 1112 arrow-body-style valid var foo = () => { bar(); };
> ok 1113 arrow-body-style valid var foo = () => { b = a };
> ok 1114 arrow-body-style valid var foo = () => { bar: 1 };
> ok 1115 arrow-body-style valid var foo = () => { return 0; };
> ok 1116 arrow-body-style valid var foo = () => { return bar(); };
> ok 1117 arrow-body-style valid var foo = () => 0;
> ok 1118 arrow-body-style valid var foo = () => ({ foo: 0 });
> ok 1119 arrow-body-style valid var foo = () => {};
> ok 1120 arrow-body-style valid var foo = () => 0;
> ok 1121 arrow-body-style valid var addToB = (a) => { b =  b + a };
> ok 1122 arrow-body-style valid var foo = () => { /* do nothing */ };
> ok 1123 arrow-body-style valid var foo = () => {
>  /* do nothing */ 
> };
> ok 1124 arrow-body-style valid var foo = (retv, name) => {
> retv[name] = true;
> return retv;
> };
> ok 1125 arrow-body-style valid var foo = () => bar();
> ok 1126 arrow-body-style valid var foo = () => { bar(); };
> ok 1127 arrow-body-style valid var foo = () => { return { bar: 0 }; };
> ok 1128 arrow-body-style invalid var foo = () => 0;
> ok 1129 arrow-body-style invalid var foo = () => ({});
> ok 1130 arrow-body-style invalid var foo = () => { return 0; };
> ok 1131 arrow-body-style invalid var foo = () => { return 0 };
> ok 1132 arrow-body-style invalid var foo = () => { return bar(); };
> ok 1133 arrow-body-style invalid var foo = () => {};
> ok 1134 arrow-body-style invalid var foo = () => {
> return 0;
> };
> ok 1135 arrow-body-style invalid var foo = () => { return { bar: 0 }; };
> ok 1136 arrow-body-style invalid var foo = () => { return ({ bar: 0 }); };
> ok 1137 arrow-body-style invalid var foo = () => { return };
> ok 1138 arrow-body-style invalid var foo = () => { return; };
> ok 1139 arrow-body-style invalid var foo = () => { return ( /* a */ {ok: true} /* b */ ) };
> ok 1140 arrow-body-style invalid var foo = () => { return '{' };
> ok 1141 arrow-body-style invalid var foo = () => { return { bar: 0 }.bar; };
> ok 1142 arrow-body-style invalid var foo = (retv, name) => {
> retv[name] = true;
> return retv;
> };
> ok 1143 arrow-body-style invalid var foo = () => { return 0; };
> ok 1144 arrow-body-style invalid var foo = () => { return bar(); };
> ok 1145 arrow-body-style invalid var foo = () => ({});
> ok 1146 arrow-body-style invalid var foo = () => ({ bar: 0 });
> ok 1147 arrow-body-style invalid var foo = () => (((((((5)))))));
> ok 1148 arrow-body-style invalid var foo = () => { return bar }
> [1, 2, 3].map(foo)
> ok 1149 arrow-body-style invalid var foo = () => { return bar }
> (1).toString();
> ok 1150 arrow-body-style invalid var foo = () => { return bar };
> [1, 2, 3].map(foo)
> ok 1151 arrow-body-style invalid var foo = /* a */ ( /* b */ ) /* c */ => /* d */ { /* e */ return /* f */ 5 /* g */ ; /* h */ } /* i */ ;
> ok 1152 arrow-body-style invalid var foo = /* a */ ( /* b */ ) /* c */ => /* d */ ( /* e */ 5 /* f */ ) /* g */ ;
> ok 1153 arrow-body-style invalid var foo = () => {
> return bar;
> };
> ok 1154 arrow-body-style invalid var foo = () => {
> return bar;};
> ok 1155 arrow-body-style invalid var foo = () => {return bar;
> };
> ok 1156 arrow-body-style invalid 
>               var foo = () => {
>                 return foo
>                   .bar;
>               };
>             
> ok 1157 arrow-body-style invalid 
>               var foo = () => {
>                 return {
>                   bar: 1,
>                   baz: 2
>                 };
>               };
>             
> ok 1158 arrow-body-style invalid var foo = () => ({foo: 1}).foo();
> ok 1159 arrow-body-style invalid var foo = () => ({foo: 1}.foo());
> ok 1160 arrow-parens valid () => {}
> ok 1161 arrow-parens valid (a) => {}
> ok 1162 arrow-parens valid (a) => a
> ok 1163 arrow-parens valid (a) => {
> }
> ok 1164 arrow-parens valid a.then((foo) => {});
> ok 1165 arrow-parens valid a.then((foo) => { if (true) {}; });
> ok 1166 arrow-parens valid a.then(async (foo) => { if (true) {}; });
> ok 1167 arrow-parens valid () => {}
> ok 1168 arrow-parens valid (a) => {}
> ok 1169 arrow-parens valid (a) => a
> ok 1170 arrow-parens valid (a) => {
> }
> ok 1171 arrow-parens valid a.then((foo) => {});
> ok 1172 arrow-parens valid a.then((foo) => { if (true) {}; });
> ok 1173 arrow-parens valid a.then(async (foo) => { if (true) {}; });
> ok 1174 arrow-parens valid () => {}
> ok 1175 arrow-parens valid a => {}
> ok 1176 arrow-parens valid a => a
> ok 1177 arrow-parens valid ([a, b]) => {}
> ok 1178 arrow-parens valid ({ a, b }) => {}
> ok 1179 arrow-parens valid (a = 10) => {}
> ok 1180 arrow-parens valid (...a) => a[0]
> ok 1181 arrow-parens valid (a, b) => {}
> ok 1182 arrow-parens valid async ([a, b]) => {}
> ok 1183 arrow-parens valid async (a, b) => {}
> ok 1184 arrow-parens valid (a: T) => a
> ok 1185 arrow-parens valid (a): T => a
> ok 1186 arrow-parens valid () => {}
> ok 1187 arrow-parens valid a => a
> ok 1188 arrow-parens valid ([a, b]) => {}
> ok 1189 arrow-parens valid ([a, b]) => a
> ok 1190 arrow-parens valid ({ a, b }) => {}
> ok 1191 arrow-parens valid ({ a, b }) => a + b
> ok 1192 arrow-parens valid (a = 10) => {}
> ok 1193 arrow-parens valid (...a) => a[0]
> ok 1194 arrow-parens valid (a, b) => {}
> ok 1195 arrow-parens valid a => ({})
> ok 1196 arrow-parens valid async a => ({})
> ok 1197 arrow-parens valid async a => a
> ok 1198 arrow-parens valid (a: T) => a
> ok 1199 arrow-parens valid (a): T => a
> ok 1200 arrow-parens invalid a => {}
> ok 1201 arrow-parens invalid a => a
> ok 1202 arrow-parens invalid a => {
> }
> ok 1203 arrow-parens invalid a.then(foo => {});
> ok 1204 arrow-parens invalid a.then(foo => a);
> ok 1205 arrow-parens invalid a(foo => { if (true) {}; });
> ok 1206 arrow-parens invalid a(async foo => { if (true) {}; });
> ok 1207 arrow-parens invalid (a) => a
> ok 1208 arrow-parens invalid (a,) => a
> ok 1209 arrow-parens invalid async (a) => a
> ok 1210 arrow-parens invalid async(a) => a
> ok 1211 arrow-parens invalid a => {}
> ok 1212 arrow-parens invalid (a) => a
> ok 1213 arrow-parens invalid async a => {}
> ok 1214 arrow-parens invalid async (a) => a
> ok 1215 arrow-parens invalid async(a) => a
> ok 1216 arrow-spacing valid a => a
> ok 1217 arrow-spacing valid () => {}
> ok 1218 arrow-spacing valid (a) => {}
> ok 1219 arrow-spacing valid a=> a
> ok 1220 arrow-spacing valid ()=> {}
> ok 1221 arrow-spacing valid (a)=> {}
> ok 1222 arrow-spacing valid a =>a
> ok 1223 arrow-spacing valid () =>{}
> ok 1224 arrow-spacing valid (a) =>{}
> ok 1225 arrow-spacing valid a=>a
> ok 1226 arrow-spacing valid ()=>{}
> ok 1227 arrow-spacing valid (a)=>{}
> ok 1228 arrow-spacing valid a => a
> ok 1229 arrow-spacing valid () => {}
> ok 1230 arrow-spacing valid (a) => {}
> ok 1231 arrow-spacing valid (a) =>
> {}
> ok 1232 arrow-spacing valid (a) =>
> 
> {}
> ok 1233 arrow-spacing valid (a) =>
>     0
> ok 1234 arrow-spacing invalid a=>a
> ok 1235 arrow-spacing invalid ()=>{}
> ok 1236 arrow-spacing invalid (a)=>{}
> ok 1237 arrow-spacing invalid a=> a
> ok 1238 arrow-spacing invalid ()=> {}
> ok 1239 arrow-spacing invalid (a)=> {}
> ok 1240 arrow-spacing invalid a=>  a
> ok 1241 arrow-spacing invalid ()=>  {}
> ok 1242 arrow-spacing invalid (a)=>  {}
> ok 1243 arrow-spacing invalid a =>a
> ok 1244 arrow-spacing invalid () =>{}
> ok 1245 arrow-spacing invalid (a) =>{}
> ok 1246 arrow-spacing invalid a  =>a
> ok 1247 arrow-spacing invalid ()  =>{}
> ok 1248 arrow-spacing invalid (a)  =>{}
> ok 1249 arrow-spacing invalid a => a
> ok 1250 arrow-spacing invalid () => {}
> ok 1251 arrow-spacing invalid (a) => {}
> ok 1252 arrow-spacing invalid a  =>  a
> ok 1253 arrow-spacing invalid ()  =>  {}
> ok 1254 arrow-spacing invalid (a)  =>  {}
> ok 1255 arrow-spacing invalid (a)  =>
> {}
> ok 1256 arrow-spacing invalid (a = ()=>0)=>1
> ok 1257 arrow-spacing invalid (a = ()=>0)=>(1)
> ok 1258 block-scoped-var valid function f() { } f(); var exports = { f: f };
> ok 1259 block-scoped-var valid var f = () => {}; f(); var exports = { f: f };
> ok 1260 block-scoped-var valid !function f(){ f; }
> ok 1261 block-scoped-var valid function f() { } f(); var exports = { f: f };
> ok 1262 block-scoped-var valid function f() { var a, b; { a = true; } b = a; }
> ok 1263 block-scoped-var valid var a; function f() { var b = a; }
> ok 1264 block-scoped-var valid function f(a) { }
> ok 1265 block-scoped-var valid !function(a) { };
> ok 1266 block-scoped-var valid !function f(a) { };
> ok 1267 block-scoped-var valid function f(a) { var b = a; }
> ok 1268 block-scoped-var valid !function f(a) { var b = a; };
> ok 1269 block-scoped-var valid function f() { var g = f; }
> ok 1270 block-scoped-var valid function f() { } function g() { var f = g; }
> ok 1271 block-scoped-var valid function f() { var hasOwnProperty; { hasOwnProperty; } }
> ok 1272 block-scoped-var valid function f(){ a; b; var a, b; }
> ok 1273 block-scoped-var valid function f(){ g(); function g(){} }
> ok 1274 block-scoped-var valid if (true) { var a = 1; a; }
> ok 1275 block-scoped-var valid var a; if (true) { a; }
> ok 1276 block-scoped-var valid for (var i = 0; i < 10; i++) { i; }
> ok 1277 block-scoped-var valid var i; for(i; i; i) { i; }
> ok 1278 block-scoped-var valid function myFunc(foo) {  "use strict";  var { bar } = foo;  bar.hello();}
> ok 1279 block-scoped-var valid function myFunc(foo) {  "use strict";  var [ bar ]  = foo;  bar.hello();}
> ok 1280 block-scoped-var valid function myFunc(...foo) {  return foo;}
> ok 1281 block-scoped-var valid var f = () => { var g = f; }
> ok 1282 block-scoped-var valid class Foo {}
> export default Foo;
> ok 1283 block-scoped-var valid new Date
> ok 1284 block-scoped-var valid new Date
> ok 1285 block-scoped-var valid var eslint = require('eslint');
> ok 1286 block-scoped-var valid var fun = function({x}) {return x;};
> ok 1287 block-scoped-var valid var fun = function([,x]) {return x;};
> ok 1288 block-scoped-var valid function f(a) { return a.b; }
> ok 1289 block-scoped-var valid var a = { "foo": 3 };
> ok 1290 block-scoped-var valid var a = { foo: 3 };
> ok 1291 block-scoped-var valid var a = { foo: 3, bar: 5 };
> ok 1292 block-scoped-var valid var a = { set foo(a){}, get bar(){} };
> ok 1293 block-scoped-var valid function f(a) { return arguments[0]; }
> ok 1294 block-scoped-var valid function f() { }; var a = f;
> ok 1295 block-scoped-var valid var a = f; function f() { };
> ok 1296 block-scoped-var valid function f(){ for(var i; i; i) i; }
> ok 1297 block-scoped-var valid function f(){ for(var a=0, b=1; a; b) a, b; }
> ok 1298 block-scoped-var valid function f(){ for(var a in {}) a; }
> ok 1299 block-scoped-var valid function f(){ switch(2) { case 1: var b = 2; b; break; default: b; break;} }
> ok 1300 block-scoped-var valid a:;
> ok 1301 block-scoped-var valid foo: while (true) { bar: for (var i = 0; i < 13; ++i) {if (i === 7) break foo; } }
> ok 1302 block-scoped-var valid foo: while (true) { bar: for (var i = 0; i < 13; ++i) {if (i === 7) continue foo; } }
> ok 1303 block-scoped-var valid const React = require("react/addons");const cx = React.addons.classSet;
> ok 1304 block-scoped-var valid var v = 1;  function x() { return v; };
> ok 1305 block-scoped-var valid import * as y from "./other.js"; y();
> ok 1306 block-scoped-var valid import y from "./other.js"; y();
> ok 1307 block-scoped-var valid import {x as y} from "./other.js"; y();
> ok 1308 block-scoped-var valid var x; export {x};
> ok 1309 block-scoped-var valid var x; export {x as v};
> ok 1310 block-scoped-var valid export {x} from "./other.js";
> ok 1311 block-scoped-var valid export {x as v} from "./other.js";
> ok 1312 block-scoped-var valid class Test { myFunction() { return true; }}
> ok 1313 block-scoped-var valid class Test { get flag() { return true; }}
> ok 1314 block-scoped-var valid var Test = class { myFunction() { return true; }}
> ok 1315 block-scoped-var valid var doStuff; let {x: y} = {x: 1}; doStuff(y);
> ok 1316 block-scoped-var valid function foo({x: y}) { return y; }
> ok 1317 block-scoped-var valid !function f(){}; f
> ok 1318 block-scoped-var valid var f = function foo() { }; foo(); var exports = { f: foo };
> ok 1319 block-scoped-var valid var f = () => { x; }
> ok 1320 block-scoped-var valid function f(){ x; }
> ok 1321 block-scoped-var valid var eslint = require('eslint');
> ok 1322 block-scoped-var valid function f(a) { return a[b]; }
> ok 1323 block-scoped-var valid function f() { return b.a; }
> ok 1324 block-scoped-var valid var a = { foo: bar };
> ok 1325 block-scoped-var valid var a = { foo: foo };
> ok 1326 block-scoped-var valid var a = { bar: 7, foo: bar };
> ok 1327 block-scoped-var valid var a = arguments;
> ok 1328 block-scoped-var valid function x(){}; var a = arguments;
> ok 1329 block-scoped-var valid function z(b){}; var a = b;
> ok 1330 block-scoped-var valid function z(){var b;}; var a = b;
> ok 1331 block-scoped-var valid function f(){ try{}catch(e){} e }
> ok 1332 block-scoped-var valid a:b;
> ok 1333 block-scoped-var valid /*global React*/ let {PropTypes, addons: {PureRenderMixin}} = React; let Test = React.createClass({mixins: [PureRenderMixin]});
> ok 1334 block-scoped-var valid /*global prevState*/ const { virtualSize: prevVirtualSize = 0 } = prevState;
> ok 1335 block-scoped-var valid const { dummy: { data, isLoading }, auth: { isLoggedIn } } = this.props;
> ok 1336 block-scoped-var valid function a(n) { return n > 0 ? b(n - 1) : "a"; } function b(n) { return n > 0 ? a(n - 1) : "b"; }
> ok 1337 block-scoped-var valid (function () { foo(); })(); function foo() {}
> ok 1338 block-scoped-var valid (function () { foo(); })(); function foo() {}
> ok 1339 block-scoped-var invalid function f(){ x; { var x; } }
> ok 1340 block-scoped-var invalid function f(){ { var x; } x; }
> ok 1341 block-scoped-var invalid function f() { var a; { var b = 0; } a = b; }
> ok 1342 block-scoped-var invalid function f() { try { var a = 0; } catch (e) { var b = a; } }
> ok 1343 block-scoped-var invalid function a() { for(var b in {}) { var c = b; } c; }
> ok 1344 block-scoped-var invalid function a() { for(var b of {}) { var c = b; } c; }
> ok 1345 block-scoped-var invalid function f(){ switch(2) { case 1: var b = 2; b; break; default: b; break;} b; }
> ok 1346 block-scoped-var invalid for (var a = 0;;) {} a;
> ok 1347 block-scoped-var invalid for (var a in []) {} a;
> ok 1348 block-scoped-var invalid for (var a of []) {} a;
> ok 1349 block-scoped-var invalid { var a = 0; } a;
> ok 1350 block-scoped-var invalid if (true) { var a; } a;
> ok 1351 block-scoped-var invalid if (true) { var a = 1; } else { var a = 2; }
> ok 1352 block-scoped-var invalid for (var i = 0;;) {} for(var i = 0;;) {}
> ok 1353 block-spacing valid { foo(); }
> ok 1354 block-spacing valid { foo(); }
> ok 1355 block-spacing valid { foo();
> }
> ok 1356 block-spacing valid {
> foo(); }
> ok 1357 block-spacing valid {
> 
> foo();
> 
> }
> ok 1358 block-spacing valid if (a) { foo(); }
> ok 1359 block-spacing valid if (a) {} else { foo(); }
> ok 1360 block-spacing valid switch (a) {}
> ok 1361 block-spacing valid switch (a) { case 0: foo(); }
> ok 1362 block-spacing valid while (a) { foo(); }
> ok 1363 block-spacing valid do { foo(); } while (a);
> ok 1364 block-spacing valid for (;;) { foo(); }
> ok 1365 block-spacing valid for (var a in b) { foo(); }
> ok 1366 block-spacing valid for (var a of b) { foo(); }
> ok 1367 block-spacing valid try { foo(); } catch (e) { foo(); }
> ok 1368 block-spacing valid function foo() { bar(); }
> ok 1369 block-spacing valid (function() { bar(); });
> ok 1370 block-spacing valid (() => { bar(); });
> ok 1371 block-spacing valid if (a) { /* comment */ foo(); /* comment */ }
> ok 1372 block-spacing valid if (a) { //comment
>  foo(); }
> ok 1373 block-spacing valid {foo();}
> ok 1374 block-spacing valid {foo();
> }
> ok 1375 block-spacing valid {
> foo();}
> ok 1376 block-spacing valid {
> 
> foo();
> 
> }
> ok 1377 block-spacing valid if (a) {foo();}
> ok 1378 block-spacing valid if (a) {} else {foo();}
> ok 1379 block-spacing valid switch (a) {}
> ok 1380 block-spacing valid switch (a) {case 0: foo();}
> ok 1381 block-spacing valid while (a) {foo();}
> ok 1382 block-spacing valid do {foo();} while (a);
> ok 1383 block-spacing valid for (;;) {foo();}
> ok 1384 block-spacing valid for (var a in b) {foo();}
> ok 1385 block-spacing valid for (var a of b) {foo();}
> ok 1386 block-spacing valid try {foo();} catch (e) {foo();}
> ok 1387 block-spacing valid function foo() {bar();}
> ok 1388 block-spacing valid (function() {bar();});
> ok 1389 block-spacing valid (() => {bar();});
> ok 1390 block-spacing valid if (a) {/* comment */ foo(); /* comment */}
> ok 1391 block-spacing valid if (a) { //comment
>  foo();}
> ok 1392 block-spacing invalid {foo();}
> ok 1393 block-spacing invalid {foo();}
> ok 1394 block-spacing invalid { foo();}
> ok 1395 block-spacing invalid {foo(); }
> ok 1396 block-spacing invalid {
> foo();}
> ok 1397 block-spacing invalid {foo();
> }
> ok 1398 block-spacing invalid if (a) {foo();}
> ok 1399 block-spacing invalid if (a) {} else {foo();}
> ok 1400 block-spacing invalid switch (a) {case 0: foo();}
> ok 1401 block-spacing invalid while (a) {foo();}
> ok 1402 block-spacing invalid do {foo();} while (a);
> ok 1403 block-spacing invalid for (;;) {foo();}
> ok 1404 block-spacing invalid for (var a in b) {foo();}
> ok 1405 block-spacing invalid for (var a of b) {foo();}
> ok 1406 block-spacing invalid try {foo();} catch (e) {foo();} finally {foo();}
> ok 1407 block-spacing invalid function foo() {bar();}
> ok 1408 block-spacing invalid (function() {bar();});
> ok 1409 block-spacing invalid (() => {bar();});
> ok 1410 block-spacing invalid if (a) {/* comment */ foo(); /* comment */}
> ok 1411 block-spacing invalid if (a) {//comment
>  foo(); }
> ok 1412 block-spacing invalid { foo(); }
> ok 1413 block-spacing invalid { foo();}
> ok 1414 block-spacing invalid {foo(); }
> ok 1415 block-spacing invalid {
> foo(); }
> ok 1416 block-spacing invalid { foo();
> }
> ok 1417 block-spacing invalid if (a) { foo(); }
> ok 1418 block-spacing invalid if (a) {} else { foo(); }
> ok 1419 block-spacing invalid switch (a) { case 0: foo(); }
> ok 1420 block-spacing invalid while (a) { foo(); }
> ok 1421 block-spacing invalid do { foo(); } while (a);
> ok 1422 block-spacing invalid for (;;) { foo(); }
> ok 1423 block-spacing invalid for (var a in b) { foo(); }
> ok 1424 block-spacing invalid for (var a of b) { foo(); }
> ok 1425 block-spacing invalid try { foo(); } catch (e) { foo(); } finally { foo(); }
> ok 1426 block-spacing invalid function foo() { bar(); }
> ok 1427 block-spacing invalid (function() { bar(); });
> ok 1428 block-spacing invalid (() => { bar(); });
> ok 1429 block-spacing invalid if (a) { /* comment */ foo(); /* comment */ }
> ok 1430 brace-style valid function f() {
>    if (true)
>        return {x: 1}
>    else {
>        var y = 2
>        return y
>    }
> }
> ok 1431 brace-style valid if (tag === 1) glyph.id = pbf.readVarint();
> else if (tag === 2) glyph.bitmap = pbf.readBytes();
> ok 1432 brace-style valid function foo () { 
> return; 
> }
> ok 1433 brace-style valid function a(b,
> c,
> d) { }
> ok 1434 brace-style valid !function foo () { 
> return;
>  }
> ok 1435 brace-style valid !function a(b,
> c,
> d) { }
> ok 1436 brace-style valid if (foo) { 
>  bar(); 
> }
> ok 1437 brace-style valid if (a) { 
> b();
>  } else { 
> c();
>  }
> ok 1438 brace-style valid while (foo) { 
>  bar();
>  }
> ok 1439 brace-style valid for (;;) { 
>  bar(); 
> }
> ok 1440 brace-style valid with (foo) { 
>  bar(); 
> }
> ok 1441 brace-style valid switch (foo) { 
>  case "bar": break;
>  }
> ok 1442 brace-style valid try { 
>  bar();
>  } catch (e) {
>  baz(); 
>  }
> ok 1443 brace-style valid do { 
>  bar();
>  } while (true)
> ok 1444 brace-style valid for (foo in bar) { 
>  baz(); 
>  }
> ok 1445 brace-style valid if (a &&
>  b &&
>  c) { 
>  }
> ok 1446 brace-style valid switch(0) {
> }
> ok 1447 brace-style valid class Foo {
> }
> ok 1448 brace-style valid (class {
> })
> ok 1449 brace-style valid class
> Foo {
> }
> ok 1450 brace-style valid 
>             class Foo {
>                 bar() {
> 
>                 }
>             }
>         
> ok 1451 brace-style valid if (foo) {
> }
> else {
> }
> ok 1452 brace-style valid if (foo)
> {
> }
> else
> {
> }
> ok 1453 brace-style valid try { 
>  bar();
>  }
> catch (e) {
>  baz(); 
>  }
> ok 1454 brace-style valid try
> {
>  bar();
> }
> catch (e)
> {
>  baz(); 
> }
> ok 1455 brace-style valid function foo () { return; }
> ok 1456 brace-style valid function foo () { a(); b(); return; }
> ok 1457 brace-style valid function a(b,c,d) { }
> ok 1458 brace-style valid !function foo () { return; }
> ok 1459 brace-style valid !function a(b,c,d) { }
> ok 1460 brace-style valid if (foo) {  bar(); }
> ok 1461 brace-style valid if (a) { b(); } else { c(); }
> ok 1462 brace-style valid while (foo) {  bar(); }
> ok 1463 brace-style valid for (;;) {  bar(); }
> ok 1464 brace-style valid with (foo) {  bar(); }
> ok 1465 brace-style valid switch (foo) {  case "bar": break; }
> ok 1466 brace-style valid try {  bar(); } catch (e) { baz();  }
> ok 1467 brace-style valid do {  bar(); } while (true)
> ok 1468 brace-style valid for (foo in bar) {  baz();  }
> ok 1469 brace-style valid if (a && b && c) {  }
> ok 1470 brace-style valid switch(0) {}
> ok 1471 brace-style valid if (foo) {}
> else {}
> ok 1472 brace-style valid try {  bar(); }
> catch (e) { baz();  }
> ok 1473 brace-style valid var foo = () => { return; }
> ok 1474 brace-style valid if (foo) {}
> else {}
> ok 1475 brace-style valid try {  bar(); }
> catch (e) { baz();  }
> ok 1476 brace-style valid var foo = () => { return; }
> ok 1477 brace-style valid if (tag === 1) fontstack.name = pbf.readString(); 
> else if (tag === 2) fontstack.range = pbf.readString(); 
> else if (tag === 3) {
>  var glyph = pbf.readMessage(readGlyph, {});
>  fontstack.glyphs[glyph.id] = glyph; 
> }
> ok 1478 brace-style valid if (tag === 1) fontstack.name = pbf.readString(); 
> else if (tag === 2) fontstack.range = pbf.readString(); 
> else if (tag === 3) {
>  var glyph = pbf.readMessage(readGlyph, {});
>  fontstack.glyphs[glyph.id] = glyph; 
> }
> ok 1479 brace-style valid switch(x) 
> { 
>  case 1: 
> bar(); 
>  }
>  
> ok 1480 brace-style valid switch(x) {}
> ok 1481 brace-style valid class Foo {
> }
> ok 1482 brace-style valid (class {
> })
> ok 1483 brace-style valid class Foo
> {
> }
> ok 1484 brace-style valid (class
> {
> })
> ok 1485 brace-style valid class
> Foo
> {
> }
> ok 1486 brace-style valid class Foo {}
> ok 1487 brace-style valid class Foo {}
> ok 1488 brace-style valid (class {})
> ok 1489 brace-style valid (class {})
> ok 1490 brace-style valid {}
> ok 1491 brace-style valid 
>             if (foo) {
> 
>             }
> 
>             {
> 
>             }
>         
> ok 1492 brace-style valid 
>             switch (foo) {
>                 case bar:
>                     baz();
>                     {
>                         qux();
>                     }
>             }
>         
> ok 1493 brace-style valid 
>             {
>             }
>         
> ok 1494 brace-style valid 
>             {
>                 {
>                 }
>             }
>         
> ok 1495 brace-style valid 
>           class Ball {
>             throw() {}
>             catch() {}
>           }
>         
> ok 1496 brace-style valid 
>           ({
>             and() {},
>             finally() {}
>           })
>         
> ok 1497 brace-style valid 
>           (class {
>             or() {}
>             else() {}
>           })
>         
> ok 1498 brace-style valid 
>           if (foo) bar = function() {}
>           else baz()
>         
> ok 1499 brace-style invalid if (f) {
> bar;
> }
> else
> baz;
> ok 1500 brace-style invalid var foo = () => { return; }
> ok 1501 brace-style invalid function foo() { return; }
> ok 1502 brace-style invalid function foo() 
>  { 
>  return; }
> ok 1503 brace-style invalid !function foo() 
>  { 
>  return; }
> ok 1504 brace-style invalid if (foo) 
>  { 
>  bar(); }
> ok 1505 brace-style invalid if (a) { 
> b();
>  } else 
>  { c(); }
> ok 1506 brace-style invalid while (foo) 
>  { 
>  bar(); }
> ok 1507 brace-style invalid for (;;) 
>  { 
>  bar(); }
> ok 1508 brace-style invalid with (foo) 
>  { 
>  bar(); }
> ok 1509 brace-style invalid switch (foo) 
>  { 
>  case "bar": break; }
> ok 1510 brace-style invalid switch (foo) 
>  { }
> ok 1511 brace-style invalid try 
>  { 
>  bar(); 
>  } catch (e) {}
> ok 1512 brace-style invalid try { 
>  bar(); 
>  } catch (e) 
>  {}
> ok 1513 brace-style invalid do 
>  { 
>  bar(); 
> } while (true)
> ok 1514 brace-style invalid for (foo in bar) 
>  { 
>  baz(); 
>  }
> ok 1515 brace-style invalid for (foo of bar) 
>  { 
>  baz(); 
>  }
> ok 1516 brace-style invalid try { 
>  bar(); 
>  }
> catch (e) {
> }
> ok 1517 brace-style invalid try { 
>  bar(); 
>  } catch (e) {
> }
>  finally {
> }
> ok 1518 brace-style invalid if (a) { 
> b();
>  } 
>  else { 
> c();
>  }
> ok 1519 brace-style invalid try { 
>  bar(); 
>  }
> catch (e) {
> } finally {
> }
> ok 1520 brace-style invalid try { 
>  bar(); 
>  } catch (e) {
> }
>  finally {
> }
> ok 1521 brace-style invalid if (a) { 
> b();
>  } else { 
> c();
>  }
> ok 1522 brace-style invalid if (foo) {
> baz();
> } else if (bar) {
> baz();
> }
> else {
> qux();
> }
> ok 1523 brace-style invalid if (foo) {
> poop();
> } 
> else if (bar) {
> baz();
> } else if (thing) {
> boom();
> }
> else {
> qux();
> }
> ok 1524 brace-style invalid try { 
>  bar(); 
>  }
>  catch (e) {
> }
>  finally {
> }
> ok 1525 brace-style invalid switch(x) { case 1: 
> bar(); }
>  
> ok 1526 brace-style invalid if (a) { 
> b();
>  } else { 
> c();
>  }
> ok 1527 brace-style invalid if (foo) {
> baz();
> } else if (bar) {
> baz();
> }
> else {
> qux();
> }
> ok 1528 brace-style invalid if (foo)
> { poop();
> } 
> else if (bar) {
> baz();
> } else if (thing) {
> boom();
> }
> else {
> qux();
> }
> ok 1529 brace-style invalid if (foo)
> {
>   bar(); }
> ok 1530 brace-style invalid try
> {
>   somethingRisky();
> } catch (e)
> {
>   handleError()
> }
> ok 1531 brace-style invalid function foo() { return; 
> }
> ok 1532 brace-style invalid function foo() { a(); b(); return; 
> }
> ok 1533 brace-style invalid function foo() { 
>  return; }
> ok 1534 brace-style invalid function foo() {
> a();
> b();
> return; }
> ok 1535 brace-style invalid !function foo() { 
>  return; }
> ok 1536 brace-style invalid if (a) { b();
>  } else { c(); }
> ok 1537 brace-style invalid if (a) { b(); }
> else { c(); }
> ok 1538 brace-style invalid while (foo) { 
>  bar(); }
> ok 1539 brace-style invalid for (;;) { bar(); 
>  }
> ok 1540 brace-style invalid with (foo) { bar(); 
>  }
> ok 1541 brace-style invalid switch (foo) 
>  { 
>  case "bar": break; }
> ok 1542 brace-style invalid switch (foo) 
>  { }
> ok 1543 brace-style invalid try {  bar(); }
> catch (e) { baz();  }
> ok 1544 brace-style invalid try 
>  { 
>  bar(); 
>  } catch (e) {}
> ok 1545 brace-style invalid try { 
>  bar(); 
>  } catch (e) 
>  {}
> ok 1546 brace-style invalid do 
>  { 
>  bar(); 
> } while (true)
> ok 1547 brace-style invalid for (foo in bar) 
>  { 
>  baz(); 
>  }
> ok 1548 brace-style invalid try { 
>  bar(); 
>  }
> catch (e) {
> }
> ok 1549 brace-style invalid try { 
>  bar(); 
>  } catch (e) {
> }
>  finally {
> }
> ok 1550 brace-style invalid if (a) { 
> b();
>  } 
>  else { 
> c();
>  }
> ok 1551 brace-style invalid try { 
>  bar(); 
>  }
> catch (e) {
> } finally {
> }
> ok 1552 brace-style invalid try { 
>  bar(); 
>  } catch (e) {
> }
>  finally {
> }
> ok 1553 brace-style invalid if (a) { 
> b();
>  } else { 
> c();
>  }
> ok 1554 brace-style invalid if (foo)
> { poop();
> } 
> else if (bar) {
> baz();
> } else if (thing) {
> boom();
> }
> else {
> qux();
> }
> ok 1555 brace-style invalid if (foo) // comment 
> {
> bar();
> }
> ok 1556 brace-style invalid if (foo) {
>  bar
> .baz }
> ok 1557 brace-style invalid if (foo)
> {
>  bar
> .baz }
> ok 1558 brace-style invalid if (foo) { bar
> .baz }
> ok 1559 brace-style invalid if (foo) { bar
> .baz }
> ok 1560 brace-style invalid switch (x) {
>  case 1: foo() }
> ok 1561 brace-style invalid class Foo
> {
> }
> ok 1562 brace-style invalid (class
> {
> })
> ok 1563 brace-style invalid class Foo{
> }
> ok 1564 brace-style invalid (class {
> })
> ok 1565 brace-style invalid class Foo {
> bar() {
> }}
> ok 1566 brace-style invalid (class Foo {
> bar() {
> }})
> ok 1567 brace-style invalid class
> Foo{}
> ok 1568 brace-style invalid 
>                 if (foo)
>                 {
>                     bar
>                 }
>                 else {
>                     baz
>                 }
>             
> ok 1569 callback-return valid function a(err) { if (err) return callback (err); }
> ok 1570 callback-return valid function a(err) { if (err) return callback (err); callback(); }
> ok 1571 callback-return valid function a(err) { if (err) { return callback (err); } callback(); }
> ok 1572 callback-return valid function a(err) { if (err) { return /* confusing comment */ callback (err); } callback(); }
> ok 1573 callback-return valid function x(err) { if (err) { callback(); return; } }
> ok 1574 callback-return valid function x(err) { if (err) { 
>  log();
>  callback(); return; } }
> ok 1575 callback-return valid function x(err) { if (err) { callback(); return; } return callback(); }
> ok 1576 callback-return valid function x(err) { if (err) { return callback(); } else { return callback(); } }
> ok 1577 callback-return valid function x(err) { if (err) { return callback(); } else if (x) { return callback(); } }
> ok 1578 callback-return valid function x(err) { if (err) return callback(); else return callback(); }
> ok 1579 callback-return valid function x(cb) { cb && cb(); }
> ok 1580 callback-return valid function x(next) { typeof next !== 'undefined' && next(); }
> ok 1581 callback-return valid function x(next) { if (typeof next === 'function')  { return next() } }
> ok 1582 callback-return valid function x() { switch(x) { case 'a': return next(); } }
> ok 1583 callback-return valid function x() { for(x = 0; x < 10; x++) { return next(); } }
> ok 1584 callback-return valid function x() { while(x) { return next(); } }
> ok 1585 callback-return valid function a(err) { if (err) { obj.method (err); } }
> ok 1586 callback-return valid callback()
> ok 1587 callback-return valid callback(); callback();
> ok 1588 callback-return valid while(x) { move(); }
> ok 1589 callback-return valid for (var i = 0; i < 10; i++) { move(); }
> ok 1590 callback-return valid for (var i = 0; i < 10; i++) move();
> ok 1591 callback-return valid if (x) callback();
> ok 1592 callback-return valid if (x) { callback(); }
> ok 1593 callback-return valid var x = err => { if (err) { callback(); return; } }
> ok 1594 callback-return valid var x = err => callback(err)
> ok 1595 callback-return valid var x = err => { setTimeout( () => { callback(); }); }
> ok 1596 callback-return valid class x { horse() { callback(); } } 
> ok 1597 callback-return valid class x { horse() { if (err) { return callback(); } callback(); } } 
> ok 1598 callback-return valid function a(err) { if (err) { callback(err) } }
> ok 1599 callback-return valid function a(err) { if (err) { callback(err) } next(); }
> ok 1600 callback-return valid function a(err) { if (err) { return next(err) } else { callback(); } }
> ok 1601 callback-return valid function a(err) { if (err) { return obj.method(err); } }
> ok 1602 callback-return valid function a(err) { if (err) { return obj.prop.method(err); } }
> ok 1603 callback-return valid function a(err) { if (err) { return obj.prop.method(err); } otherObj.prop.method() }
> ok 1604 callback-return valid function a(err) { if (err) { callback(err); } }
> ok 1605 callback-return valid function a(err) { if (err) { otherObj.method(err); } }
> ok 1606 callback-return valid function a(err) { if (err) { //comment
> return obj.method(err); } }
> ok 1607 callback-return valid function a(err) { if (err) { /*comment*/return obj.method(err); } }
> ok 1608 callback-return valid function a(err) { if (err) { return obj.method(err); //comment
>  } }
> ok 1609 callback-return valid function a(err) { if (err) { return obj.method(err); /*comment*/ } }
> ok 1610 callback-return valid function a(err) { if (err) { obj().method(err); } }
> ok 1611 callback-return valid function a(err) { if (err) { obj.prop().method(err); } }
> ok 1612 callback-return valid function a(err) { if (err) { obj().prop.method(err); } }
> ok 1613 callback-return valid function a(err) { if (err) { obj().method(err); } }
> ok 1614 callback-return valid function a(err) { if (err) { obj().method(err); } obj.method(); }
> ok 1615 callback-return valid function x(err) { if (err) { setTimeout(callback, 0); } callback(); }
> ok 1616 callback-return valid function x(err) { if (err) { process.nextTick(function(err) { callback(); }); } callback(); }
> ok 1617 callback-return invalid function a(err) { if (err) { callback (err); } }
> ok 1618 callback-return invalid function a(callback) { if (typeof callback !== 'undefined') { callback(); } }
> ok 1619 callback-return invalid function a(callback) { if (typeof callback !== 'undefined') callback();  }
> ok 1620 callback-return invalid function a(callback) { if (err) { callback(); horse && horse(); } }
> ok 1621 callback-return invalid var x = (err) => { if (err) { callback (err); } }
> ok 1622 callback-return invalid var x = { x(err) { if (err) { callback (err); } } }
> ok 1623 callback-return invalid function x(err) { if (err) {
>  log();
>  callback(err); } }
> ok 1624 callback-return invalid var x = { x(err) { if (err) { callback && callback (err); } } }
> ok 1625 callback-return invalid function a(err) { callback (err); callback(); }
> ok 1626 callback-return invalid function a(err) { callback (err); horse(); }
> ok 1627 callback-return invalid function a(err) { if (err) { callback (err); horse(); return; } }
> ok 1628 callback-return invalid var a = (err) => { callback (err); callback(); }
> ok 1629 callback-return invalid function a(err) { if (err) { callback (err); } else if (x) { callback(err); return; } }
> ok 1630 callback-return invalid function x(err) { if (err) { return callback(); }
> else if (abc) {
> callback(); }
> else {
> return callback(); } }
> ok 1631 callback-return invalid class x { horse() { if (err) { callback(); } callback(); } } 
> ok 1632 callback-return invalid function x(err) { if (err) { callback() } else { callback() } }
> ok 1633 callback-return invalid function x(err) { if (err) return callback(); else callback(); }
> ok 1634 callback-return invalid () => { if (x) { callback(); } }
> ok 1635 callback-return invalid function b() { switch(x) { case 'horse': callback(); } }
> ok 1636 callback-return invalid function a() { switch(x) { case 'horse': move(); } }
> ok 1637 callback-return invalid var x = function() { while(x) { move(); } }
> ok 1638 callback-return invalid function x() { for (var i = 0; i < 10; i++) { move(); } }
> ok 1639 callback-return invalid var x = function() { for (var i = 0; i < 10; i++) move(); }
> ok 1640 callback-return invalid function a(err) { if (err) { obj.method(err); } }
> ok 1641 callback-return invalid function a(err) { if (err) { obj.prop.method(err); } }
> ok 1642 callback-return invalid function a(err) { if (err) { obj.prop.method(err); } otherObj.prop.method() }
> ok 1643 callback-return invalid function a(err) { if (err) { /*comment*/obj.method(err); } }
> ok 1644 callback-return invalid function a(err) { if (err) { //comment
> obj.method(err); } }
> ok 1645 callback-return invalid function a(err) { if (err) { obj.method(err); /*comment*/ } }
> ok 1646 callback-return invalid function a(err) { if (err) { obj.method(err); //comment
>  } }
> ok 1647 capitalized-comments valid //Uppercase
> ok 1648 capitalized-comments valid // Uppercase
> ok 1649 capitalized-comments valid /*Uppercase */
> ok 1650 capitalized-comments valid /* Uppercase */
> ok 1651 capitalized-comments valid /*
> Uppercase */
> ok 1652 capitalized-comments valid /** Uppercase */
> ok 1653 capitalized-comments valid /**
> Uppercase */
> ok 1654 capitalized-comments valid //Über
> ok 1655 capitalized-comments valid //Π
> ok 1656 capitalized-comments valid /* Uppercase
> second line need not be uppercase */
> ok 1657 capitalized-comments valid // 
> ok 1658 capitalized-comments valid //	
> ok 1659 capitalized-comments valid /* */
> ok 1660 capitalized-comments valid /*	*/
> ok 1661 capitalized-comments valid /*
> */
> ok 1662 capitalized-comments valid /*
> */
> ok 1663 capitalized-comments valid /*
> 
> */
> ok 1664 capitalized-comments valid /*
*/
> ok 1665 capitalized-comments valid /*
*/
> ok 1666 capitalized-comments valid //123
> ok 1667 capitalized-comments valid // 123
> ok 1668 capitalized-comments valid /*123*/
> ok 1669 capitalized-comments valid /* 123 */
> ok 1670 capitalized-comments valid /**123 */
> ok 1671 capitalized-comments valid /** 123 */
> ok 1672 capitalized-comments valid /**
> 123 */
> ok 1673 capitalized-comments valid /*
> 123 */
> ok 1674 capitalized-comments valid /*123
> second line need not be uppercase */
> ok 1675 capitalized-comments valid /**
>  * @fileoverview This is a file */
> ok 1676 capitalized-comments valid // jscs: enable
> ok 1677 capitalized-comments valid // jscs:disable
> ok 1678 capitalized-comments valid // eslint-disable-line
> ok 1679 capitalized-comments valid // eslint-disable-next-line
> ok 1680 capitalized-comments valid /* eslint semi:off */
> ok 1681 capitalized-comments valid /* eslint-env node */
> ok 1682 capitalized-comments valid /* istanbul ignore next */
> ok 1683 capitalized-comments valid /* jshint asi:true */
> ok 1684 capitalized-comments valid /* jscs: enable */
> ok 1685 capitalized-comments valid /* global var1, var2 */
> ok 1686 capitalized-comments valid /* global var1:true, var2 */
> ok 1687 capitalized-comments valid /* globals var1, var2 */
> ok 1688 capitalized-comments valid /* globals var1:true, var2 */
> ok 1689 capitalized-comments valid /* exported myVar */
> ok 1690 capitalized-comments valid !foo
> ok 1691 capitalized-comments valid !foo
> ok 1692 capitalized-comments valid !Foo
> ok 1693 capitalized-comments valid !/usr/bin/env node
> ok 1694 capitalized-comments valid !/usr/bin/env node
> ok 1695 capitalized-comments valid !/usr/bin/env node
> ok 1696 capitalized-comments valid //Uppercase
> ok 1697 capitalized-comments valid // Uppercase
> ok 1698 capitalized-comments valid /*Uppercase */
> ok 1699 capitalized-comments valid /* Uppercase */
> ok 1700 capitalized-comments valid /*
> Uppercase */
> ok 1701 capitalized-comments valid /** Uppercase */
> ok 1702 capitalized-comments valid /**
> Uppercase */
> ok 1703 capitalized-comments valid //Über
> ok 1704 capitalized-comments valid //Π
> ok 1705 capitalized-comments valid /* Uppercase
> second line need not be uppercase */
> ok 1706 capitalized-comments valid //123
> ok 1707 capitalized-comments valid // 123
> ok 1708 capitalized-comments valid /*123*/
> ok 1709 capitalized-comments valid /**123*/
> ok 1710 capitalized-comments valid /* 123 */
> ok 1711 capitalized-comments valid /** 123*/
> ok 1712 capitalized-comments valid /**
> 123*/
> ok 1713 capitalized-comments valid /*
> 123 */
> ok 1714 capitalized-comments valid /*123
> second line need not be uppercase */
> ok 1715 capitalized-comments valid /**
>  @todo: foobar
>  */
> ok 1716 capitalized-comments valid /**
>  * @fileoverview This is a file */
> ok 1717 capitalized-comments valid // jscs: enable
> ok 1718 capitalized-comments valid // jscs:disable
> ok 1719 capitalized-comments valid // eslint-disable-line
> ok 1720 capitalized-comments valid // eslint-disable-next-line
> ok 1721 capitalized-comments valid /* eslint semi:off */
> ok 1722 capitalized-comments valid /* eslint-env node */
> ok 1723 capitalized-comments valid /* istanbul ignore next */
> ok 1724 capitalized-comments valid /* jshint asi:true */
> ok 1725 capitalized-comments valid /* jscs: enable */
> ok 1726 capitalized-comments valid /* global var1, var2 */
> ok 1727 capitalized-comments valid /* global var1:true, var2 */
> ok 1728 capitalized-comments valid /* globals var1, var2 */
> ok 1729 capitalized-comments valid /* globals var1:true, var2 */
> ok 1730 capitalized-comments valid /* exported myVar */
> ok 1731 capitalized-comments valid //lowercase
> ok 1732 capitalized-comments valid // lowercase
> ok 1733 capitalized-comments valid /*lowercase */
> ok 1734 capitalized-comments valid /* lowercase */
> ok 1735 capitalized-comments valid /*
> lowercase */
> ok 1736 capitalized-comments valid //über
> ok 1737 capitalized-comments valid //π
> ok 1738 capitalized-comments valid /* lowercase
> Second line need not be lowercase */
> ok 1739 capitalized-comments valid //123
> ok 1740 capitalized-comments valid // 123
> ok 1741 capitalized-comments valid /*123*/
> ok 1742 capitalized-comments valid /* 123 */
> ok 1743 capitalized-comments valid /*
> 123 */
> ok 1744 capitalized-comments valid /*123
> second line need not be uppercase */
> ok 1745 capitalized-comments valid /**
>  @TODO: foobar
>  */
> ok 1746 capitalized-comments valid /**
>  * @Fileoverview This is a file */
> ok 1747 capitalized-comments valid // matching
> ok 1748 capitalized-comments valid // Matching
> ok 1749 capitalized-comments valid // bar
> ok 1750 capitalized-comments valid // Bar
> ok 1751 capitalized-comments valid foo(/* ignored */ a);
> ok 1752 capitalized-comments valid foo(/* Ignored */ a);
> ok 1753 capitalized-comments valid foo(/*
> ignored */ a);
> ok 1754 capitalized-comments valid foo(/*
> Ignored */ a);
> ok 1755 capitalized-comments valid // This comment is valid since it is capitalized,
> // and this one is valid since it follows a valid one,
> // and same with this one.
> ok 1756 capitalized-comments valid /* This comment is valid since it is capitalized, */
> /* and this one is valid since it follows a valid one, */
> /* and same with this one. */
> ok 1757 capitalized-comments valid /*
>  * This comment is valid since it is capitalized,
>  */
> /* and this one is valid since it follows a valid one, */
> /*
>  * and same with this one.
>  */
> ok 1758 capitalized-comments valid // This comment is valid since it is capitalized,
> // and this one is valid since it follows a valid one,
> foo();
> // This comment now has to be capitalized.
> ok 1759 capitalized-comments valid // https://github.com
> ok 1760 capitalized-comments valid // HTTPS://GITHUB.COM
> ok 1761 capitalized-comments valid // Valid capitalized line comment
> /* Valid capitalized block comment */
> // lineCommentIgnorePattern
> /* blockCommentIgnorePattern */
> ok 1762 capitalized-comments invalid //lowercase
> ok 1763 capitalized-comments invalid // lowercase
> ok 1764 capitalized-comments invalid /*lowercase */
> ok 1765 capitalized-comments invalid /* lowercase */
> ok 1766 capitalized-comments invalid /** lowercase */
> ok 1767 capitalized-comments invalid /*
> lowercase */
> ok 1768 capitalized-comments invalid /**
> lowercase */
> ok 1769 capitalized-comments invalid //über
> ok 1770 capitalized-comments invalid //π
> ok 1771 capitalized-comments invalid /* lowercase
> Second line need not be lowercase */
> ok 1772 capitalized-comments invalid //lowercase
> ok 1773 capitalized-comments invalid // lowercase
> ok 1774 capitalized-comments invalid /*lowercase */
> ok 1775 capitalized-comments invalid /* lowercase */
> ok 1776 capitalized-comments invalid /** lowercase */
> ok 1777 capitalized-comments invalid /**
> lowercase */
> ok 1778 capitalized-comments invalid //über
> ok 1779 capitalized-comments invalid //π
> ok 1780 capitalized-comments invalid /* lowercase
> Second line need not be lowercase */
> ok 1781 capitalized-comments invalid //Uppercase
> ok 1782 capitalized-comments invalid // Uppercase
> ok 1783 capitalized-comments invalid /*Uppercase */
> ok 1784 capitalized-comments invalid /* Uppercase */
> ok 1785 capitalized-comments invalid /*
> Uppercase */
> ok 1786 capitalized-comments invalid //Über
> ok 1787 capitalized-comments invalid //Π
> ok 1788 capitalized-comments invalid /* Uppercase
> second line need not be uppercase */
> ok 1789 capitalized-comments invalid //* jscs: enable
> ok 1790 capitalized-comments invalid //* jscs:disable
> ok 1791 capitalized-comments invalid //* eslint-disable-line
> ok 1792 capitalized-comments invalid //* eslint-disable-next-line
> ok 1793 capitalized-comments invalid /*
>  * eslint semi:off */
> ok 1794 capitalized-comments invalid /*
>  * eslint-env node */
> ok 1795 capitalized-comments invalid /*
>  *  istanbul ignore next */
> ok 1796 capitalized-comments invalid /*
>  *  jshint asi:true */
> ok 1797 capitalized-comments invalid /*
>  *  jscs: enable */
> ok 1798 capitalized-comments invalid /*
>  *  global var1, var2 */
> ok 1799 capitalized-comments invalid /*
>  *  global var1:true, var2 */
> ok 1800 capitalized-comments invalid /*
>  *  globals var1, var2 */
> ok 1801 capitalized-comments invalid /*
>  *  globals var1:true, var2 */
> ok 1802 capitalized-comments invalid /*
>  *  exported myVar */
> ok 1803 capitalized-comments invalid foo(/* invalid */a);
> ok 1804 capitalized-comments invalid foo(/* invalid */a);
> ok 1805 capitalized-comments invalid foo(a, // not an inline comment
> b);
> ok 1806 capitalized-comments invalid foo(a, /* not an inline comment */
> b);
> ok 1807 capitalized-comments invalid foo(a,
> /* not an inline comment */b);
> ok 1808 capitalized-comments invalid foo(a,
> /* not an inline comment */
> b);
> ok 1809 capitalized-comments invalid foo(a, // Not an inline comment
> b);
> ok 1810 capitalized-comments invalid foo(a, /* Not an inline comment */
> b);
> ok 1811 capitalized-comments invalid foo(a,
> /* Not an inline comment */b);
> ok 1812 capitalized-comments invalid foo(a,
> /* Not an inline comment */
> b);
> ok 1813 capitalized-comments invalid // not matching
> ok 1814 capitalized-comments invalid // Not matching
> ok 1815 capitalized-comments invalid // This comment is valid since it is capitalized,
> // and this one is valid since it follows a valid one,
> foo();
> // this comment is now invalid.
> ok 1816 capitalized-comments invalid // this comment is invalid since it is not capitalized,
> // but this one is ignored since it is consecutive.
> ok 1817 capitalized-comments invalid // This comment is invalid since it is not capitalized,
> // But this one is ignored since it is consecutive.
> ok 1818 capitalized-comments invalid // This comment is valid since it is capitalized,
> // but this one is invalid even if it follows a valid one.
> ok 1819 capitalized-comments invalid // should fail. https://github.com
> ok 1820 capitalized-comments invalid // Should fail. https://github.com
> ok 1821 class-methods-use-this valid class A { constructor() {} }
> ok 1822 class-methods-use-this valid class A { foo() {this} }
> ok 1823 class-methods-use-this valid class A { foo() {this.bar = 'bar';} }
> ok 1824 class-methods-use-this valid class A { foo() {bar(this);} }
> ok 1825 class-methods-use-this valid class A extends B { foo() {super.foo();} }
> ok 1826 class-methods-use-this valid class A { foo() { if(true) { return this; } } }
> ok 1827 class-methods-use-this valid class A { static foo() {} }
> ok 1828 class-methods-use-this valid ({ a(){} });
> ok 1829 class-methods-use-this valid class A { foo() { () => this; } }
> ok 1830 class-methods-use-this valid ({ a: function () {} });
> ok 1831 class-methods-use-this valid class A { foo() {this} bar() {} }
> ok 1832 class-methods-use-this invalid class A { foo() {} }
> ok 1833 class-methods-use-this invalid class A { foo() {/**this**/} }
> ok 1834 class-methods-use-this invalid class A { foo() {var a = function () {this};} }
> ok 1835 class-methods-use-this invalid class A { foo() {var a = function () {var b = function(){this}};} }
> ok 1836 class-methods-use-this invalid class A { foo() {window.this} }
> ok 1837 class-methods-use-this invalid class A { foo() {that.this = 'this';} }
> ok 1838 class-methods-use-this invalid class A { foo() { () => undefined; } }
> ok 1839 class-methods-use-this invalid class A { foo() {} bar() {} }
> ok 1840 class-methods-use-this invalid class A { foo() {} hasOwnProperty() {} }
> ok 1841 comma-dangle valid var foo = { bar: 'baz' }
> ok 1842 comma-dangle valid var foo = {
> bar: 'baz'
> }
> ok 1843 comma-dangle valid var foo = [ 'baz' ]
> ok 1844 comma-dangle valid var foo = [
> 'baz'
> ]
> ok 1845 comma-dangle valid [,,]
> ok 1846 comma-dangle valid [
> ,
> ,
> ]
> ok 1847 comma-dangle valid [,]
> ok 1848 comma-dangle valid [
> ,
> ]
> ok 1849 comma-dangle valid []
> ok 1850 comma-dangle valid [
> ]
> ok 1851 comma-dangle valid var foo = [
>       (bar ? baz : qux),
>     ];
> ok 1852 comma-dangle valid var foo = { bar: 'baz' }
> ok 1853 comma-dangle valid var foo = {
> bar: 'baz'
> }
> ok 1854 comma-dangle valid var foo = [ 'baz' ]
> ok 1855 comma-dangle valid var { a, b } = foo;
> ok 1856 comma-dangle valid var [ a, b ] = foo;
> ok 1857 comma-dangle valid var { a,
>  b, 
> } = foo;
> ok 1858 comma-dangle valid var [ a,
>  b, 
> ] = foo;
> ok 1859 comma-dangle valid [(1),]
> ok 1860 comma-dangle valid var x = { foo: (1),};
> ok 1861 comma-dangle valid var foo = { bar: 'baz', }
> ok 1862 comma-dangle valid var foo = {
> bar: 'baz',
> }
> ok 1863 comma-dangle valid var foo = {
> bar: 'baz'
> ,}
> ok 1864 comma-dangle valid var foo = [ 'baz', ]
> ok 1865 comma-dangle valid var foo = [
> 'baz',
> ]
> ok 1866 comma-dangle valid var foo = [
> 'baz'
> ,]
> ok 1867 comma-dangle valid [,,]
> ok 1868 comma-dangle valid [
> ,
> ,
> ]
> ok 1869 comma-dangle valid [,]
> ok 1870 comma-dangle valid [
> ,
> ]
> ok 1871 comma-dangle valid []
> ok 1872 comma-dangle valid [
> ]
> ok 1873 comma-dangle valid var foo = { bar: 'baz' }
> ok 1874 comma-dangle valid var foo = { bar: 'baz' }
> ok 1875 comma-dangle valid var foo = {
> bar: 'baz',
> }
> ok 1876 comma-dangle valid var foo = {
> bar: 'baz',
> }
> ok 1877 comma-dangle valid var foo = [ 'baz' ]
> ok 1878 comma-dangle valid var foo = [ 'baz' ]
> ok 1879 comma-dangle valid var foo = [
> 'baz',
> ]
> ok 1880 comma-dangle valid var foo = [
> 'baz',
> ]
> ok 1881 comma-dangle valid var foo = { bar:
> 
> 'bar' }
> ok 1882 comma-dangle valid var foo = { bar:
> 
> 'bar' }
> ok 1883 comma-dangle valid var foo = {a: 1, b: 2, c: 3, d: 4}
> ok 1884 comma-dangle valid var foo = {a: 1, b: 2, c: 3, d: 4}
> ok 1885 comma-dangle valid var foo = {a: 1, b: 2,
>  c: 3, d: 4}
> ok 1886 comma-dangle valid var foo = {a: 1, b: 2,
>  c: 3, d: 4}
> ok 1887 comma-dangle valid var foo = {x: {
> foo: 'bar',
> }}
> ok 1888 comma-dangle valid var foo = {x: {
> foo: 'bar',
> }}
> ok 1889 comma-dangle valid var foo = new Map([
> [key, {
> a: 1,
> b: 2,
> c: 3,
> }],
> ])
> ok 1890 comma-dangle valid var foo = new Map([
> [key, {
> a: 1,
> b: 2,
> c: 3,
> }],
> ])
> ok 1891 comma-dangle valid var [a, ...rest] = [];
> ok 1892 comma-dangle valid var [
>     a,
>     ...rest
> ] = [];
> ok 1893 comma-dangle valid var [
>     a,
>     ...rest
> ] = [];
> ok 1894 comma-dangle valid var [
>     a,
>     ...rest
> ] = [];
> ok 1895 comma-dangle valid [a, ...rest] = [];
> ok 1896 comma-dangle valid for ([a, ...rest] of []);
> ok 1897 comma-dangle valid var a = [b, ...spread,];
> ok 1898 comma-dangle valid var {foo, ...bar} = baz
> ok 1899 comma-dangle valid import {foo,} from 'foo';
> ok 1900 comma-dangle valid import foo from 'foo';
> ok 1901 comma-dangle valid import foo, {abc,} from 'foo';
> ok 1902 comma-dangle valid import * as foo from 'foo';
> ok 1903 comma-dangle valid export {foo,} from 'foo';
> ok 1904 comma-dangle valid import {foo} from 'foo';
> ok 1905 comma-dangle valid import foo from 'foo';
> ok 1906 comma-dangle valid import foo, {abc} from 'foo';
> ok 1907 comma-dangle valid import * as foo from 'foo';
> ok 1908 comma-dangle valid export {foo} from 'foo';
> ok 1909 comma-dangle valid import {foo} from 'foo';
> ok 1910 comma-dangle valid import {foo} from 'foo';
> ok 1911 comma-dangle valid export {foo} from 'foo';
> ok 1912 comma-dangle valid export {foo} from 'foo';
> ok 1913 comma-dangle valid import {
>   foo,
> } from 'foo';
> ok 1914 comma-dangle valid import {
>   foo,
> } from 'foo';
> ok 1915 comma-dangle valid export {
>   foo,
> } from 'foo';
> ok 1916 comma-dangle valid export {
>   foo,
> } from 'foo';
> ok 1917 comma-dangle valid import {foo} from 
> 'foo';
> ok 1918 comma-dangle valid import {foo} from 
> 'foo';
> ok 1919 comma-dangle valid function foo(a,) {}
> ok 1920 comma-dangle valid foo(a,)
> ok 1921 comma-dangle valid function foo(a) {}
> ok 1922 comma-dangle valid foo(a)
> ok 1923 comma-dangle valid function foo(
> a,
> b
> ) {}
> ok 1924 comma-dangle valid foo(
> a,b)
> ok 1925 comma-dangle valid function foo(a,b,) {}
> ok 1926 comma-dangle valid foo(a,b,)
> ok 1927 comma-dangle valid function foo(a,b,) {}
> ok 1928 comma-dangle valid foo(a,b,)
> ok 1929 comma-dangle valid function foo(a) {} 
> ok 1930 comma-dangle valid foo(a)
> ok 1931 comma-dangle valid function foo(a,) {}
> ok 1932 comma-dangle valid function bar(a, ...b) {}
> ok 1933 comma-dangle valid foo(a,)
> ok 1934 comma-dangle valid bar(...a,)
> ok 1935 comma-dangle valid function foo(a) {} 
> ok 1936 comma-dangle valid foo(a)
> ok 1937 comma-dangle valid function foo(
> a,
> b,
> ) {} 
> ok 1938 comma-dangle valid function foo(
> a,
> ...b
> ) {} 
> ok 1939 comma-dangle valid foo(
> a,
> b,
> )
> ok 1940 comma-dangle valid foo(
> a,
> ...b,
> )
> ok 1941 comma-dangle valid function foo(a) {} 
> ok 1942 comma-dangle valid foo(a)
> ok 1943 comma-dangle valid function foo(
> a,
> b,
> ) {} 
> ok 1944 comma-dangle valid foo(
> a,
> b,
> )
> ok 1945 comma-dangle valid function foo(
> a,
> b
> ) {} 
> ok 1946 comma-dangle valid foo(
> a,
> b
> )
> ok 1947 comma-dangle valid function foo({a}: {a: string,}) {}
> ok 1948 comma-dangle valid function foo({a,}: {a: string}) {}
> ok 1949 comma-dangle valid function foo(a): {b: boolean,} {}
> ok 1950 comma-dangle valid function foo(a,): {b: boolean} {}
> ok 1951 comma-dangle invalid var foo = { bar: 'baz', }
> ok 1952 comma-dangle invalid var foo = {
> bar: 'baz',
> }
> ok 1953 comma-dangle invalid foo({ bar: 'baz', qux: 'quux', });
> ok 1954 comma-dangle invalid foo({
> bar: 'baz',
> qux: 'quux',
> });
> ok 1955 comma-dangle invalid var foo = [ 'baz', ]
> ok 1956 comma-dangle invalid var foo = [ 'baz',
> ]
> ok 1957 comma-dangle invalid var foo = { bar: 'bar'
> 
> , }
> ok 1958 comma-dangle invalid var foo = { bar: 'baz', }
> ok 1959 comma-dangle invalid var foo = { bar: 'baz', }
> ok 1960 comma-dangle invalid var foo = {
> bar: 'baz',
> }
> ok 1961 comma-dangle invalid foo({ bar: 'baz', qux: 'quux', });
> ok 1962 comma-dangle invalid foo({ bar: 'baz', qux: 'quux', });
> ok 1963 comma-dangle invalid var foo = { bar: 'baz' }
> ok 1964 comma-dangle invalid var foo = {
> bar: 'baz'
> }
> ok 1965 comma-dangle invalid foo({ bar: 'baz', qux: 'quux' });
> ok 1966 comma-dangle invalid foo({
> bar: 'baz',
> qux: 'quux'
> });
> ok 1967 comma-dangle invalid var foo = [ 'baz' ]
> ok 1968 comma-dangle invalid var foo = [ 'baz'
> ]
> ok 1969 comma-dangle invalid var foo = { bar:
> 
> 'bar' }
> ok 1970 comma-dangle invalid var foo = {
> bar: 'baz'
> }
> ok 1971 comma-dangle invalid var foo = [
>   bar,
>   (
>     baz
>   )
> ];
> ok 1972 comma-dangle invalid var foo = {
>   foo: 'bar',
>   baz: (
>     qux
>   )
> };
> ok 1973 comma-dangle invalid var foo = [
>   (bar
>     ? baz
>     : qux
>   )
> ];
> ok 1974 comma-dangle invalid var foo = { bar: 'baz', }
> ok 1975 comma-dangle invalid foo({
> bar: 'baz',
> qux: 'quux'
> });
> ok 1976 comma-dangle invalid foo({ bar: 'baz', qux: 'quux', });
> ok 1977 comma-dangle invalid var foo = [
> 'baz'
> ]
> ok 1978 comma-dangle invalid var foo = ['baz',]
> ok 1979 comma-dangle invalid var foo = ['baz',]
> ok 1980 comma-dangle invalid var foo = {x: {
> foo: 'bar',
> },}
> ok 1981 comma-dangle invalid var foo = {a: 1, b: 2,
> c: 3, d: 4,}
> ok 1982 comma-dangle invalid var foo = {a: 1, b: 2,
> c: 3, d: 4,}
> ok 1983 comma-dangle invalid var foo = [{
> a: 1,
> b: 2,
> c: 3,
> d: 4,
> },]
> ok 1984 comma-dangle invalid var { a, b, } = foo;
> ok 1985 comma-dangle invalid var { a, b, } = foo;
> ok 1986 comma-dangle invalid var [ a, b, ] = foo;
> ok 1987 comma-dangle invalid var [ a, b, ] = foo;
> ok 1988 comma-dangle invalid [(1),]
> ok 1989 comma-dangle invalid [(1),]
> ok 1990 comma-dangle invalid var x = { foo: (1),};
> ok 1991 comma-dangle invalid var x = { foo: (1),};
> ok 1992 comma-dangle invalid import {foo} from 'foo';
> ok 1993 comma-dangle invalid import foo, {abc} from 'foo';
> ok 1994 comma-dangle invalid export {foo} from 'foo';
> ok 1995 comma-dangle invalid import {foo,} from 'foo';
> ok 1996 comma-dangle invalid import {foo,} from 'foo';
> ok 1997 comma-dangle invalid import foo, {abc,} from 'foo';
> ok 1998 comma-dangle invalid import foo, {abc,} from 'foo';
> ok 1999 comma-dangle invalid export {foo,} from 'foo';
> ok 2000 comma-dangle invalid export {foo,} from 'foo';
> ok 2001 comma-dangle invalid import {foo,} from 'foo';
> ok 2002 comma-dangle invalid export {foo,} from 'foo';
> ok 2003 comma-dangle invalid import {
>   foo
> } from 'foo';
> ok 2004 comma-dangle invalid export {
>   foo
> } from 'foo';
> ok 2005 comma-dangle invalid var foo = {a: (1)}
> ok 2006 comma-dangle invalid var foo = [(1)]
> ok 2007 comma-dangle invalid var foo = [
> 1,
> (2)
> ]
> ok 2008 comma-dangle invalid function foo(a,) {}
> ok 2009 comma-dangle invalid (function foo(a,) {})
> ok 2010 comma-dangle invalid (a,) => a
> ok 2011 comma-dangle invalid (a,) => (a)
> ok 2012 comma-dangle invalid ({foo(a,) {}})
> ok 2013 comma-dangle invalid class A {foo(a,) {}}
> ok 2014 comma-dangle invalid foo(a,)
> ok 2015 comma-dangle invalid foo(...a,)
> ok 2016 comma-dangle invalid function foo(a) {}
> ok 2017 comma-dangle invalid (function foo(a) {})
> ok 2018 comma-dangle invalid (a) => a
> ok 2019 comma-dangle invalid (a) => (a)
> ok 2020 comma-dangle invalid ({foo(a) {}})
> ok 2021 comma-dangle invalid class A {foo(a) {}}
> ok 2022 comma-dangle invalid foo(a)
> ok 2023 comma-dangle invalid foo(...a)
> ok 2024 comma-dangle invalid function foo(a,) {}
> ok 2025 comma-dangle invalid (function foo(a,) {})
> ok 2026 comma-dangle invalid foo(a,)
> ok 2027 comma-dangle invalid foo(...a,)
> ok 2028 comma-dangle invalid function foo(
> a,
> b
> ) {}
> ok 2029 comma-dangle invalid foo(
> a,
> b
> )
> ok 2030 comma-dangle invalid foo(
> ...a,
> ...b
> )
> ok 2031 comma-dangle invalid function foo(a,) {}
> ok 2032 comma-dangle invalid (function foo(a,) {})
> ok 2033 comma-dangle invalid foo(a,)
> ok 2034 comma-dangle invalid foo(...a,)
> ok 2035 comma-dangle invalid let {a,} = {a: 1,};
> let [b,] = [1,];
> import {c,} from "foo";
> let d = 0;export {d,};
> (function foo(e,) {})(f,);
> ok 2036 comma-dangle invalid let {a,} = {a: 1,};
> let [b,] = [1,];
> import {c,} from "foo";
> let d = 0;export {d,};
> (function foo(e,) {})(f,);
> ok 2037 comma-dangle invalid let {a,} = {a: 1,};
> let [b,] = [1,];
> import {c,} from "foo";
> let d = 0;export {d,};
> (function foo(e,) {})(f,);
> ok 2038 comma-dangle invalid let {a,} = {a: 1,};
> let [b,] = [1,];
> import {c,} from "foo";
> let d = 0;export {d,};
> (function foo(e,) {})(f,);
> ok 2039 comma-dangle invalid let {a,} = {a: 1,};
> let [b,] = [1,];
> import {c,} from "foo";
> let d = 0;export {d,};
> (function foo(e,) {})(f,);
> ok 2040 comma-dangle invalid function foo({a}: {a: string,}) {}
> ok 2041 comma-dangle invalid function foo({a,}: {a: string}) {}
> ok 2042 comma-dangle invalid function foo(a): {b: boolean,} {}
> ok 2043 comma-dangle invalid function foo(a,): {b: boolean} {}
> ok 2044 comma-spacing valid myfunc(404, true/* bla bla bla */, 'hello');
> ok 2045 comma-spacing valid myfunc(404, true /* bla bla bla */, 'hello');
> ok 2046 comma-spacing valid myfunc(404, true/* bla bla bla *//* hi */, 'hello');
> ok 2047 comma-spacing valid myfunc(404, true/* bla bla bla */ /* hi */, 'hello');
> ok 2048 comma-spacing valid myfunc(404, true, /* bla bla bla */ 'hello');
> ok 2049 comma-spacing valid myfunc(404, // comment
>  true, /* bla bla bla */ 'hello');
> ok 2050 comma-spacing valid myfunc(404, // comment
>  true,/* bla bla bla */ 'hello');
> ok 2051 comma-spacing valid var a = 1, b = 2;
> ok 2052 comma-spacing valid var arr = [, ];
> ok 2053 comma-spacing valid var arr = [1, ];
> ok 2054 comma-spacing valid var arr = [, 2];
> ok 2055 comma-spacing valid var arr = [1, 2];
> ok 2056 comma-spacing valid var arr = [, , ];
> ok 2057 comma-spacing valid var arr = [1, , ];
> ok 2058 comma-spacing valid var arr = [, 2, ];
> ok 2059 comma-spacing valid var arr = [, , 3];
> ok 2060 comma-spacing valid var arr = [1, 2, ];
> ok 2061 comma-spacing valid var arr = [, 2, 3];
> ok 2062 comma-spacing valid var arr = [1, , 3];
> ok 2063 comma-spacing valid var arr = [1, 2, 3];
> ok 2064 comma-spacing valid var obj = {'foo':'bar', 'baz':'qur'};
> ok 2065 comma-spacing valid var obj = {'foo':'bar', 'baz':
> 'qur'};
> ok 2066 comma-spacing valid var obj = {'foo':
> 'bar', 'baz':
> 'qur'};
> ok 2067 comma-spacing valid function foo(a, b){}
> ok 2068 comma-spacing valid function foo(a, b = 1){}
> ok 2069 comma-spacing valid function foo(a = 1, b, c){}
> ok 2070 comma-spacing valid var foo = (a, b) => {}
> ok 2071 comma-spacing valid var foo = (a=1, b) => {}
> ok 2072 comma-spacing valid var foo = a => a + 2
> ok 2073 comma-spacing valid a, b
> ok 2074 comma-spacing valid var a = (1 + 2, 2);
> ok 2075 comma-spacing valid a(b, c)
> ok 2076 comma-spacing valid new A(b, c)
> ok 2077 comma-spacing valid foo((a), b)
> ok 2078 comma-spacing valid var b = ((1 + 2), 2);
> ok 2079 comma-spacing valid parseInt((a + b), 10)
> ok 2080 comma-spacing valid go.boom((a + b), 10)
> ok 2081 comma-spacing valid go.boom((a + b), 10, (4))
> ok 2082 comma-spacing valid var x = [ (a + c), (b + b) ]
> ok 2083 comma-spacing valid ['  ,  ']
> ok 2084 comma-spacing valid [`  ,  `]
> ok 2085 comma-spacing valid `${[1, 2]}`
> ok 2086 comma-spacing valid fn(a, b,)
> ok 2087 comma-spacing valid const fn = (a, b,) => {}
> ok 2088 comma-spacing valid const fn = function (a, b,) {}
> ok 2089 comma-spacing valid function fn(a, b,) {}
> ok 2090 comma-spacing valid foo(/,/, 'a')
> ok 2091 comma-spacing valid var x = ',,,,,';
> ok 2092 comma-spacing valid var code = 'var foo = 1, bar = 3;'
> ok 2093 comma-spacing valid ['apples', 
>  'oranges'];
> ok 2094 comma-spacing valid {x: 'var x,y,z'}
> ok 2095 comma-spacing valid var obj = {'foo':
> 'bar' ,'baz':
> 'qur'};
> ok 2096 comma-spacing valid var a = 1 ,b = 2;
> ok 2097 comma-spacing valid function foo(a ,b){}
> ok 2098 comma-spacing valid var arr = [,];
> ok 2099 comma-spacing valid var arr = [1 ,];
> ok 2100 comma-spacing valid var arr = [ ,2];
> ok 2101 comma-spacing valid var arr = [1 ,2];
> ok 2102 comma-spacing valid var arr = [,,];
> ok 2103 comma-spacing valid var arr = [1 , ,];
> ok 2104 comma-spacing valid var arr = [ ,2 ,];
> ok 2105 comma-spacing valid var arr = [ , ,3];
> ok 2106 comma-spacing valid var arr = [1 ,2 ,];
> ok 2107 comma-spacing valid var arr = [ ,2 ,3];
> ok 2108 comma-spacing valid var arr = [1 , ,3];
> ok 2109 comma-spacing valid var arr = [1 ,2 ,3];
> ok 2110 comma-spacing valid var obj = {'foo':'bar' , 'baz':'qur'};
> ok 2111 comma-spacing valid var a = 1 , b = 2;
> ok 2112 comma-spacing valid var arr = [, ];
> ok 2113 comma-spacing valid var arr = [1 , ];
> ok 2114 comma-spacing valid var arr = [ , 2];
> ok 2115 comma-spacing valid var arr = [1 , 2];
> ok 2116 comma-spacing valid var arr = [, , ];
> ok 2117 comma-spacing valid var arr = [1 , , ];
> ok 2118 comma-spacing valid var arr = [ , 2 , ];
> ok 2119 comma-spacing valid var arr = [ , , 3];
> ok 2120 comma-spacing valid var arr = [1 , 2 , ];
> ok 2121 comma-spacing valid var arr = [, 2 , 3];
> ok 2122 comma-spacing valid var arr = [1 , , 3];
> ok 2123 comma-spacing valid var arr = [1 , 2 , 3];
> ok 2124 comma-spacing valid a , b
> ok 2125 comma-spacing valid var arr = [,];
> ok 2126 comma-spacing valid var arr = [ ,];
> ok 2127 comma-spacing valid var arr = [1,];
> ok 2128 comma-spacing valid var arr = [,2];
> ok 2129 comma-spacing valid var arr = [ ,2];
> ok 2130 comma-spacing valid var arr = [1,2];
> ok 2131 comma-spacing valid var arr = [,,];
> ok 2132 comma-spacing valid var arr = [ ,,];
> ok 2133 comma-spacing valid var arr = [1,,];
> ok 2134 comma-spacing valid var arr = [,2,];
> ok 2135 comma-spacing valid var arr = [ ,2,];
> ok 2136 comma-spacing valid var arr = [,,3];
> ok 2137 comma-spacing valid var arr = [1,2,];
> ok 2138 comma-spacing valid var arr = [,2,3];
> ok 2139 comma-spacing valid var arr = [1,,3];
> ok 2140 comma-spacing valid var arr = [1,2,3];
> ok 2141 comma-spacing valid var a = (1 + 2,2)
> ok 2142 comma-spacing valid var a; console.log(`${a}`, "a");
> ok 2143 comma-spacing valid var [a, b] = [1, 2];
> ok 2144 comma-spacing valid var [a, b, ] = [1, 2];
> ok 2145 comma-spacing valid var [a, , b] = [1, 2, 3];
> ok 2146 comma-spacing valid var [ , b] = a;
> ok 2147 comma-spacing valid var [, b] = a;
> ok 2148 comma-spacing valid <a>,</a>
> ok 2149 comma-spacing valid <a>  ,  </a>
> ok 2150 comma-spacing valid <a>Hello, world</a>
> ok 2151 comma-spacing invalid a(b,c)
> ok 2152 comma-spacing invalid new A(b,c)
> ok 2153 comma-spacing invalid var a = 1 ,b = 2;
> ok 2154 comma-spacing invalid var arr = [1 , 2];
> ok 2155 comma-spacing invalid var arr = [1 , ];
> ok 2156 comma-spacing invalid var arr = [1 , ];
> ok 2157 comma-spacing invalid var arr = [1 ,2];
> ok 2158 comma-spacing invalid var arr = [(1) , 2];
> ok 2159 comma-spacing invalid var arr = [1, 2];
> ok 2160 comma-spacing invalid var arr = [1
>   , 2];
> ok 2161 comma-spacing invalid var arr = [1,
>   2];
> ok 2162 comma-spacing invalid var obj = {'foo':
> 'bar', 'baz':
> 'qur'};
> ok 2163 comma-spacing invalid var obj = {a: 1
>   ,b: 2};
> ok 2164 comma-spacing invalid var obj = {a: 1 ,
>   b: 2};
> ok 2165 comma-spacing invalid var arr = [1 ,2];
> ok 2166 comma-spacing invalid var arr = [1,2];
> ok 2167 comma-spacing invalid var obj = {'foo':
> 'bar','baz':
> 'qur'};
> ok 2168 comma-spacing invalid var arr = [1 , 2];
> ok 2169 comma-spacing invalid a ,b
> ok 2170 comma-spacing invalid function foo(a,b){}
> ok 2171 comma-spacing invalid var foo = (a,b) => {}
> ok 2172 comma-spacing invalid var foo = (a = 1,b) => {}
> ok 2173 comma-spacing invalid function foo(a = 1 ,b = 2) {}
> ok 2174 comma-spacing invalid <a>{foo(1 ,2)}</a>
> ok 2175 comma-spacing invalid myfunc(404, true/* bla bla bla */ , 'hello');
> ok 2176 comma-spacing invalid myfunc(404, true,/* bla bla bla */ 'hello');
> ok 2177 comma-spacing invalid myfunc(404,// comment
>  true, 'hello');
> ok 2178 comma-style valid var foo = 1, bar = 3;
> ok 2179 comma-style valid var foo = {'a': 1, 'b': 2};
> ok 2180 comma-style valid var foo = [1, 2];
> ok 2181 comma-style valid var foo = [, 2];
> ok 2182 comma-style valid var foo = [1, ];
> ok 2183 comma-style valid var foo = ['apples', 
>  'oranges'];
> ok 2184 comma-style valid var foo = {'a': 1, 
>  'b': 2, 
> 'c': 3};
> ok 2185 comma-style valid var foo = {'a': 1, 
>  'b': 2, 'c':
>  3};
> ok 2186 comma-style valid var foo = {'a': 1, 
>  'b': 2, 'c': [{'d': 1}, 
>  {'e': 2}, 
>  {'f': 3}]};
> ok 2187 comma-style valid var foo = [1, 
> 2, 
> 3];
> ok 2188 comma-style valid function foo(){var a=[1,
>  2]}
> ok 2189 comma-style valid function foo(){return {'a': 1,
> 'b': 2}}
> ok 2190 comma-style valid var foo = 
> 1, 
> bar = 
> 2;
> ok 2191 comma-style valid var foo = [
> (bar),
> baz
> ];
> ok 2192 comma-style valid var foo = [
> (bar
> ),
> baz
> ];
> ok 2193 comma-style valid var foo = [
> (
> bar
> ),
> baz
> ];
> ok 2194 comma-style valid new Foo(a
> ,b);
> ok 2195 comma-style valid var foo = [
> (bar
> )
> ,baz
> ];
> ok 2196 comma-style valid var foo = 
> 1, 
> bar = [1,
> 2,
> 3]
> ok 2197 comma-style valid var foo = ['apples'
> ,'oranges'];
> ok 2198 comma-style valid var foo = 1, bar = 2;
> ok 2199 comma-style valid var foo = 1 
>  ,bar = 2;
> ok 2200 comma-style valid var foo = {'a': 1 
>  ,'b': 2 
> ,'c': 3};
> ok 2201 comma-style valid var foo = [1 
>  ,2 
> , 3];
> ok 2202 comma-style valid function foo(){return {'a': 1
> ,'b': 2}}
> ok 2203 comma-style valid function foo(){var a=[1
> , 2]}
> ok 2204 comma-style valid new Foo(a,
> b);
> ok 2205 comma-style valid f(1
> , 2);
> ok 2206 comma-style valid function foo(a
> , b) { return a + b; }
> ok 2207 comma-style valid var a = 'a',
> o = 'o';
> ok 2208 comma-style valid var arr = ['a',
> 'o'];
> ok 2209 comma-style valid var obj = {a: 'a',
> b: 'b'};
> ok 2210 comma-style valid var a = 'a',
> o = 'o',
> arr = [1,
> 2];
> ok 2211 comma-style valid var ar ={fst:1,
> snd: [1,
> 2]};
> ok 2212 comma-style valid var a = 'a',
> ar ={fst:1,
> snd: [1,
> 2]};
> ok 2213 comma-style valid const foo = (a
> , b) => { return a + b; }
> ok 2214 comma-style valid function foo([a
> , b]) { return a + b; }
> ok 2215 comma-style valid const foo = ([a
> , b]) => { return a + b; }
> ok 2216 comma-style valid import { a
> , b } from './source';
> ok 2217 comma-style valid const foo = function (a
> , b) { return a + b; }
> ok 2218 comma-style valid var {foo
> , bar} = {foo:'apples', bar:'oranges'};
> ok 2219 comma-style valid var {foo
> , bar} = {foo:'apples', bar:'oranges'};
> ok 2220 comma-style valid new Foo(a,
> b);
> ok 2221 comma-style valid f(1
> , 2);
> ok 2222 comma-style valid function foo(a
> , b) { return a + b; }
> ok 2223 comma-style valid const foo = function (a
> , b) { return a + b; }
> ok 2224 comma-style valid function foo([a
> , b]) { return a + b; }
> ok 2225 comma-style valid const foo = (a
> , b) => { return a + b; }
> ok 2226 comma-style valid const foo = ([a
> , b]) => { return a + b; }
> ok 2227 comma-style valid import { a
> , b } from './source';
> ok 2228 comma-style valid var {foo
> , bar} = {foo:'apples', bar:'oranges'};
> ok 2229 comma-style valid new Foo(a,
> b);
> ok 2230 comma-style valid new Foo(a
> ,b);
> ok 2231 comma-style invalid var foo = { a: 1. //comment 
> , b: 2
> }
> ok 2232 comma-style invalid var foo = { a: 1. //comment 
>  //comment1 
>  //comment2 
> , b: 2
> }
> ok 2233 comma-style invalid var foo = 1
> ,
> bar = 2;
> ok 2234 comma-style invalid var foo = 1 //comment
> ,
> bar = 2;
> ok 2235 comma-style invalid var foo = 1 //comment
> , // comment 2
> bar = 2;
> ok 2236 comma-style invalid new Foo(a
> ,
> b);
> ok 2237 comma-style invalid var foo = 1
> ,bar = 2;
> ok 2238 comma-style invalid f([1,2
> ,3]);
> ok 2239 comma-style invalid f([1,2
> ,]);
> ok 2240 comma-style invalid f([,2
> ,3]);
> ok 2241 comma-style invalid var foo = ['apples'
> , 'oranges'];
> ok 2242 comma-style invalid var [foo
> , bar] = ['apples', 'oranges'];
> ok 2243 comma-style invalid f(1
> , 2);
> ok 2244 comma-style invalid function foo(a
> , b) { return a + b; }
> ok 2245 comma-style invalid const foo = function (a
> , b) { return a + b; }
> ok 2246 comma-style invalid function foo([a
> , b]) { return a + b; }
> ok 2247 comma-style invalid const foo = (a
> , b) => { return a + b; }
> ok 2248 comma-style invalid const foo = ([a
> , b]) => { return a + b; }
> ok 2249 comma-style invalid import { a
> , b } from './source';
> ok 2250 comma-style invalid var {foo
> , bar} = {foo:'apples', bar:'oranges'};
> ok 2251 comma-style invalid var foo = 1,
> bar = 2;
> ok 2252 comma-style invalid f([1,
> 2,3]);
> ok 2253 comma-style invalid var foo = ['apples', 
>  'oranges'];
> ok 2254 comma-style invalid var foo = {'a': 1, 
>  'b': 2
>  ,'c': 3};
> ok 2255 comma-style invalid var a = 'a',
> o = 'o',
> arr = [1,
> 2];
> ok 2256 comma-style invalid var a = 'a',
> obj = {a: 'a',
> b: 'b'};
> ok 2257 comma-style invalid var a = 'a',
> obj = {a: 'a',
> b: 'b'};
> ok 2258 comma-style invalid var a = 'a',
> arr = [1,
> 2];
> ok 2259 comma-style invalid var ar =[1,
> {a: 'a',
> b: 'b'}];
> ok 2260 comma-style invalid var ar =[1,
> {a: 'a',
> b: 'b'}];
> ok 2261 comma-style invalid var ar ={fst:1,
> snd: [1,
> 2]};
> ok 2262 comma-style invalid var ar ={fst:1,
> snd: [1,
> 2]};
> ok 2263 comma-style invalid new Foo(a,
> b);
> ok 2264 comma-style invalid var foo = [
> (bar
> )
> ,
> baz
> ];
> ok 2265 comma-style invalid [(foo),
> ,
> bar]
> ok 2266 comma-style invalid new Foo(a
> ,b);
> ok 2267 comma-style invalid [
> [foo(3)],
> ,
> bar
> ];
> ok 2268 comma-style invalid [foo//
> ,/*block
> comment*/];
> ok 2269 complexity valid function a(x) {}
> ok 2270 complexity valid function b(x) {}
> ok 2271 complexity valid function a(x) {if (true) {return x;}}
> ok 2272 complexity valid function a(x) {if (true) {return x;} else {return x+1;}}
> ok 2273 complexity valid function a(x) {if (true) {return x;} else if (false) {return x+1;} else {return 4;}}
> ok 2274 complexity valid function a(x) {for(var i = 0; i < 5; i ++) {x ++;} return x;}
> ok 2275 complexity valid function a(obj) {for(var i in obj) {obj[i] = 3;}}
> ok 2276 complexity valid function a(x) {for(var i = 0; i < 5; i ++) {if(i % 2 === 0) {x ++;}} return x;}
> ok 2277 complexity valid function a(obj) {if(obj){ for(var x in obj) {try {x.getThis();} catch (e) {x.getThat();}}} else {return false;}}
> ok 2278 complexity valid function a(x) {try {x.getThis();} catch (e) {x.getThat();}}
> ok 2279 complexity valid function a(x) {return x === 4 ? 3 : 5;}
> ok 2280 complexity valid function a(x) {return x === 4 ? 3 : (x === 3 ? 2 : 1);}
> ok 2281 complexity valid function a(x) {return x || 4;}
> ok 2282 complexity valid function a(x) {x && 4;}
> ok 2283 complexity valid function a(x) {switch(x){case 1: 1; break; case 2: 2; break; default: 3;}}
> ok 2284 complexity valid function a(x) {switch(x){case 1: 1; break; case 2: 2; break; default: if(x == 'foo') {5;};}}
> ok 2285 complexity valid function a(x) {while(true) {'foo';}}
> ok 2286 complexity valid function a(x) {do {'foo';} while (true)}
> ok 2287 complexity valid if (foo) { bar(); }
> ok 2288 complexity valid var a = (x) => {do {'foo';} while (true)}
> ok 2289 complexity valid function b(x) {}
> ok 2290 complexity invalid function a(x) {}
> ok 2291 complexity invalid var func = function () {}
> ok 2292 complexity invalid var obj = { a(x) {} }
> ok 2293 complexity invalid class Test { a(x) {} }
> ok 2294 complexity invalid var a = (x) => {if (true) {return x;}}
> ok 2295 complexity invalid function a(x) {if (true) {return x;}}
> ok 2296 complexity invalid function a(x) {if (true) {return x;} else {return x+1;}}
> ok 2297 complexity invalid function a(x) {if (true) {return x;} else if (false) {return x+1;} else {return 4;}}
> ok 2298 complexity invalid function a(x) {for(var i = 0; i < 5; i ++) {x ++;} return x;}
> ok 2299 complexity invalid function a(obj) {for(var i in obj) {obj[i] = 3;}}
> ok 2300 complexity invalid function a(obj) {for(var i of obj) {obj[i] = 3;}}
> ok 2301 complexity invalid function a(x) {for(var i = 0; i < 5; i ++) {if(i % 2 === 0) {x ++;}} return x;}
> ok 2302 complexity invalid function a(obj) {if(obj){ for(var x in obj) {try {x.getThis();} catch (e) {x.getThat();}}} else {return false;}}
> ok 2303 complexity invalid function a(x) {try {x.getThis();} catch (e) {x.getThat();}}
> ok 2304 complexity invalid function a(x) {return x === 4 ? 3 : 5;}
> ok 2305 complexity invalid function a(x) {return x === 4 ? 3 : (x === 3 ? 2 : 1);}
> ok 2306 complexity invalid function a(x) {return x || 4;}
> ok 2307 complexity invalid function a(x) {x && 4;}
> ok 2308 complexity invalid function a(x) {switch(x){case 1: 1; break; case 2: 2; break; default: 3;}}
> ok 2309 complexity invalid function a(x) {switch(x){case 1: 1; break; case 2: 2; break; default: if(x == 'foo') {5;};}}
> ok 2310 complexity invalid function a(x) {while(true) {'foo';}}
> ok 2311 complexity invalid function a(x) {do {'foo';} while (true)}
> ok 2312 complexity invalid function a(x) {(function() {while(true){'foo';}})(); (function() {while(true){'bar';}})();}
> ok 2313 complexity invalid function a(x) {(function() {while(true){'foo';}})(); (function() {'bar';})();}
> ok 2314 complexity invalid var obj = { a(x) { return x ? 0 : 1; } };
> ok 2315 complexity invalid var obj = { a: function b(x) { return x ? 0 : 1; } };
> ok 2316 complexity invalid function test (a) { if (a === 1) {} else if (a === 2) {} else if (a === 3) {} else if (a === 4) {} else if (a === 5) {} else if (a === 6) {} else if (a === 7) {} else if (a === 8) {} else if (a === 9) {} else if (a === 10) {} else if (a === 11) {} else if (a === 12) {} else if (a === 13) {} else if (a === 14) {} else if (a === 15) {} else if (a === 16) {} else if (a === 17) {} else if (a === 18) {} else if (a === 19) {} else if (a === 20) {} };
> ok 2317 complexity invalid function test (a) { if (a === 1) {} else if (a === 2) {} else if (a === 3) {} else if (a === 4) {} else if (a === 5) {} else if (a === 6) {} else if (a === 7) {} else if (a === 8) {} else if (a === 9) {} else if (a === 10) {} else if (a === 11) {} else if (a === 12) {} else if (a === 13) {} else if (a === 14) {} else if (a === 15) {} else if (a === 16) {} else if (a === 17) {} else if (a === 18) {} else if (a === 19) {} else if (a === 20) {} };
> ok 2318 complexity invalid function a(x) {}
> ok 2319 computed-property-spacing valid obj[foo]
> ok 2320 computed-property-spacing valid obj['foo']
> ok 2321 computed-property-spacing valid var x = {[b]: a}
> ok 2322 computed-property-spacing valid obj[ foo ]
> ok 2323 computed-property-spacing valid obj[
> foo
> ]
> ok 2324 computed-property-spacing valid obj[ 'foo' ]
> ok 2325 computed-property-spacing valid obj[ 'foo' + 'bar' ]
> ok 2326 computed-property-spacing valid obj[ obj2[ foo ] ]
> ok 2327 computed-property-spacing valid obj.map(function(item) { return [
> 1,
> 2,
> 3,
> 4
> ]; })
> ok 2328 computed-property-spacing valid obj[ 'map' ](function(item) { return [
> 1,
> 2,
> 3,
> 4
> ]; })
> ok 2329 computed-property-spacing valid obj[ 'for' + 'Each' ](function(item) { return [
> 1,
> 2,
> 3,
> 4
> ]; })
> ok 2330 computed-property-spacing valid var foo = obj[ 1 ]
> ok 2331 computed-property-spacing valid var foo = obj[ 'foo' ];
> ok 2332 computed-property-spacing valid var foo = obj[ [1, 1] ];
> ok 2333 computed-property-spacing valid var x = {[ "a" ]: a}
> ok 2334 computed-property-spacing valid var y = {[ x ]: a}
> ok 2335 computed-property-spacing valid var x = {[ "a" ]() {}}
> ok 2336 computed-property-spacing valid var y = {[ x ]() {}}
> ok 2337 computed-property-spacing valid var foo = {};
> ok 2338 computed-property-spacing valid var foo = [];
> ok 2339 computed-property-spacing valid obj[foo]
> ok 2340 computed-property-spacing valid obj['foo']
> ok 2341 computed-property-spacing valid obj['foo' + 'bar']
> ok 2342 computed-property-spacing valid obj['foo'+'bar']
> ok 2343 computed-property-spacing valid obj[obj2[foo]]
> ok 2344 computed-property-spacing valid obj.map(function(item) { return [
> 1,
> 2,
> 3,
> 4
> ]; })
> ok 2345 computed-property-spacing valid obj['map'](function(item) { return [
> 1,
> 2,
> 3,
> 4
> ]; })
> ok 2346 computed-property-spacing valid obj['for' + 'Each'](function(item) { return [
> 1,
> 2,
> 3,
> 4
> ]; })
> ok 2347 computed-property-spacing valid obj[
> foo]
> ok 2348 computed-property-spacing valid obj[foo
> ]
> ok 2349 computed-property-spacing valid var foo = obj[1]
> ok 2350 computed-property-spacing valid var foo = obj['foo'];
> ok 2351 computed-property-spacing valid var foo = obj[[ 1, 1 ]];
> ok 2352 computed-property-spacing valid var x = {["a"]: a}
> ok 2353 computed-property-spacing valid var y = {[x]: a}
> ok 2354 computed-property-spacing valid var x = {["a"]() {}}
> ok 2355 computed-property-spacing valid var y = {[x]() {}}
> ok 2356 computed-property-spacing valid var foo = {};
> ok 2357 computed-property-spacing valid var foo = [];
> ok 2358 computed-property-spacing invalid var foo = obj[ 1];
> ok 2359 computed-property-spacing invalid var foo = obj[1 ];
> ok 2360 computed-property-spacing invalid var foo = obj[ 1];
> ok 2361 computed-property-spacing invalid var foo = obj[1 ];
> ok 2362 computed-property-spacing invalid obj[ foo ]
> ok 2363 computed-property-spacing invalid obj[foo ]
> ok 2364 computed-property-spacing invalid obj[ foo]
> ok 2365 computed-property-spacing invalid var foo = obj[1]
> ok 2366 computed-property-spacing invalid var x = {[a]: b}
> ok 2367 computed-property-spacing invalid var x = {[a ]: b}
> ok 2368 computed-property-spacing invalid var x = {[ a]: b}
> ok 2369 computed-property-spacing invalid var x = {[ a ]: b}
> ok 2370 computed-property-spacing invalid var x = {[a ]: b}
> ok 2371 computed-property-spacing invalid var x = {[ a]: b}
> ok 2372 computed-property-spacing invalid var x = {[ a
> ]: b}
> ok 2373 consistent-return valid function foo() { return; }
> ok 2374 consistent-return valid function foo() { if (true) return; }
> ok 2375 consistent-return valid function foo() { if (true) return; else return; }
> ok 2376 consistent-return valid function foo() { if (true) return true; else return false; }
> ok 2377 consistent-return valid f(function() { return; })
> ok 2378 consistent-return valid f(function() { if (true) return; })
> ok 2379 consistent-return valid f(function() { if (true) return; else return; })
> ok 2380 consistent-return valid f(function() { if (true) return true; else return false; })
> ok 2381 consistent-return valid function foo() { function bar() { return true; } return; }
> ok 2382 consistent-return valid function foo() { function bar() { return; } return false; }
> ok 2383 consistent-return valid function Foo() { if (!(this instanceof Foo)) return new Foo(); }
> ok 2384 consistent-return valid function foo() { if (true) return; else return undefined; }
> ok 2385 consistent-return valid function foo() { if (true) return; else return void 0; }
> ok 2386 consistent-return valid function foo() { if (true) return undefined; else return; }
> ok 2387 consistent-return valid function foo() { if (true) return undefined; else return void 0; }
> ok 2388 consistent-return valid function foo() { if (true) return void 0; else return; }
> ok 2389 consistent-return valid function foo() { if (true) return void 0; else return undefined; }
> ok 2390 consistent-return valid var x = () => {  return {}; };
> ok 2391 consistent-return valid if (true) { return 1; } return 0;
> ok 2392 consistent-return valid class Foo { constructor() { if (true) return foo; } }
> ok 2393 consistent-return valid var Foo = class { constructor() { if (true) return foo; } }
> ok 2394 consistent-return invalid function foo() { if (true) return true; else return; }
> ok 2395 consistent-return invalid var foo = () => { if (true) return true; else return; }
> ok 2396 consistent-return invalid function foo() { if (true) return; else return false; }
> ok 2397 consistent-return invalid f(function() { if (true) return true; else return; })
> ok 2398 consistent-return invalid f(function() { if (true) return; else return false; })
> ok 2399 consistent-return invalid f(a => { if (true) return; else return false; })
> ok 2400 consistent-return invalid function foo() { if (true) return true; return undefined; }
> ok 2401 consistent-return invalid function foo() { if (true) return true; return void 0; }
> ok 2402 consistent-return invalid function foo() { if (true) return undefined; return true; }
> ok 2403 consistent-return invalid function foo() { if (true) return void 0; return true; }
> ok 2404 consistent-return invalid if (true) { return 1; } return;
> ok 2405 consistent-return invalid function foo() { if (a) return true; }
> ok 2406 consistent-return invalid function _foo() { if (a) return true; }
> ok 2407 consistent-return invalid f(function foo() { if (a) return true; });
> ok 2408 consistent-return invalid f(function() { if (a) return true; });
> ok 2409 consistent-return invalid f(() => { if (a) return true; });
> ok 2410 consistent-return invalid var obj = {foo() { if (a) return true; }};
> ok 2411 consistent-return invalid class A {foo() { if (a) return true; }};
> ok 2412 consistent-return invalid if (a) return true;
> ok 2413 consistent-return invalid class A { CapitalizedFunction() { if (a) return true; } }
> ok 2414 consistent-return invalid ({ constructor() { if (a) return true; } });
> ok 2415 consistent-this valid var foo = 42, that = this
> ok 2416 consistent-this valid var foo = 42, self = this
> ok 2417 consistent-this valid var self = 42
> ok 2418 consistent-this valid var self
> ok 2419 consistent-this valid var self; self = this
> ok 2420 consistent-this valid var foo, self; self = this
> ok 2421 consistent-this valid var foo, self; foo = 42; self = this
> ok 2422 consistent-this valid self = 42
> ok 2423 consistent-this valid var foo = {}; foo.bar = this
> ok 2424 consistent-this valid var self = this; var vm = this;
> ok 2425 consistent-this valid var {foo, bar} = this
> ok 2426 consistent-this valid ({foo, bar} = this)
> ok 2427 consistent-this valid var [foo, bar] = this
> ok 2428 consistent-this valid [foo, bar] = this
> ok 2429 consistent-this invalid var context = this
> ok 2430 consistent-this invalid var that = this
> ok 2431 consistent-this invalid var foo = 42, self = this
> ok 2432 consistent-this invalid var self = 42
> ok 2433 consistent-this invalid var self
> ok 2434 consistent-this invalid var self; self = 42
> ok 2435 consistent-this invalid context = this
> ok 2436 consistent-this invalid that = this
> ok 2437 consistent-this invalid self = this
> ok 2438 consistent-this invalid self += this
> ok 2439 consistent-this invalid var self; (function() { self = this; }())
> ok 2440 constructor-super valid class A { }
> ok 2441 constructor-super valid class A { constructor() { } }
> ok 2442 constructor-super valid class A extends null { }
> ok 2443 constructor-super valid class A extends B { }
> ok 2444 constructor-super valid class A extends B { constructor() { super(); } }
> ok 2445 constructor-super valid class A extends B { constructor() { if (true) { super(); } else { super(); } } }
> ok 2446 constructor-super valid class A extends (class B {}) { constructor() { super(); } }
> ok 2447 constructor-super valid class A extends (B = C) { constructor() { super(); } }
> ok 2448 constructor-super valid class A extends (B || C) { constructor() { super(); } }
> ok 2449 constructor-super valid class A extends (a ? B : C) { constructor() { super(); } }
> ok 2450 constructor-super valid class A extends (B, C) { constructor() { super(); } }
> ok 2451 constructor-super valid class A { constructor() { class B extends C { constructor() { super(); } } } }
> ok 2452 constructor-super valid class A extends B { constructor() { super(); class C extends D { constructor() { super(); } } } }
> ok 2453 constructor-super valid class A extends B { constructor() { super(); class C { constructor() { } } } }
> ok 2454 constructor-super valid class A extends B { constructor() { a ? super() : super(); } }
> ok 2455 constructor-super valid class A extends B { constructor() { if (a) super(); else super(); } }
> ok 2456 constructor-super valid class A extends B { constructor() { switch (a) { case 0: super(); break; default: super(); } } }
> ok 2457 constructor-super valid class A extends B { constructor() { try {} finally { super(); } } }
> ok 2458 constructor-super valid class A extends B { constructor() { if (a) throw Error(); super(); } }
> ok 2459 constructor-super valid class A extends B { constructor() { if (true) return a; super(); } }
> ok 2460 constructor-super valid class A extends null { constructor() { return a; } }
> ok 2461 constructor-super valid class A { constructor() { return a; } }
> ok 2462 constructor-super valid class A extends B { constructor(a) { super(); for (const b of a) { this.a(); } } }
> ok 2463 constructor-super valid class Foo extends Object { constructor(method) { super(); this.method = method || function() {}; } }
> ok 2464 constructor-super valid class A extends Object {
>     constructor() {
>         super();
>         for (let i = 0; i < 0; i++);
>     }
> }
> ok 2465 constructor-super valid 
>             class A extends B {
>                 constructor(props) {
>                     super(props);
> 
>                     try {
>                         let arr = [];
>                         for (let a of arr) {
>                         }
>                     } catch (err) {
>                     }
>                 }
>             }
>         
> ok 2466 constructor-super invalid class A extends null { constructor() { super(); } }
> ok 2467 constructor-super invalid class A extends null { constructor() { } }
> ok 2468 constructor-super invalid class A extends 100 { constructor() { super(); } }
> ok 2469 constructor-super invalid class A extends 'test' { constructor() { super(); } }
> ok 2470 constructor-super invalid class A extends B { constructor() { } }
> ok 2471 constructor-super invalid class A extends B { constructor() { for (var a of b) super.foo(); } }
> ok 2472 constructor-super invalid class A extends B { constructor() { class C extends D { constructor() { super(); } } } }
> ok 2473 constructor-super invalid class A extends B { constructor() { var c = class extends D { constructor() { super(); } } } }
> ok 2474 constructor-super invalid class A extends B { constructor() { var c = () => super(); } }
> ok 2475 constructor-super invalid class A extends B { constructor() { class C extends D { constructor() { super(); } } } }
> ok 2476 constructor-super invalid class A extends B { constructor() { var C = class extends D { constructor() { super(); } } } }
> ok 2477 constructor-super invalid class A extends B { constructor() { super(); class C extends D { constructor() { } } } }
> ok 2478 constructor-super invalid class A extends B { constructor() { super(); var C = class extends D { constructor() { } } } }
> ok 2479 constructor-super invalid class A extends B { constructor() { if (a) super(); } }
> ok 2480 constructor-super invalid class A extends B { constructor() { if (a); else super(); } }
> ok 2481 constructor-super invalid class A extends B { constructor() { a && super(); } }
> ok 2482 constructor-super invalid class A extends B { constructor() { switch (a) { case 0: super(); } } }
> ok 2483 constructor-super invalid class A extends B { constructor() { switch (a) { case 0: break; default: super(); } } }
> ok 2484 constructor-super invalid class A extends B { constructor() { try { super(); } catch (err) {} } }
> ok 2485 constructor-super invalid class A extends B { constructor() { try { a; } catch (err) { super(); } } }
> ok 2486 constructor-super invalid class A extends B { constructor() { if (a) return; super(); } }
> ok 2487 constructor-super invalid class A extends B { constructor() { super(); super(); } }
> ok 2488 constructor-super invalid class A extends B { constructor() { super() || super(); } }
> ok 2489 constructor-super invalid class A extends B { constructor() { if (a) super(); super(); } }
> ok 2490 constructor-super invalid class A extends B { constructor() { switch (a) { case 0: super(); default: super(); } } }
> ok 2491 constructor-super invalid class A extends B { constructor(a) { while (a) super(); } }
> ok 2492 constructor-super invalid class A extends B { constructor() { return; super(); } }
> ok 2493 constructor-super invalid class Foo extends Bar {
>                 constructor() {
>                     for (a in b) for (c in d);
>                 }
>             }
> ok 2494 curly valid if (foo) { bar() }
> ok 2495 curly valid if (foo) { bar() } else if (foo2) { baz() }
> ok 2496 curly valid while (foo) { bar() }
> ok 2497 curly valid do { bar(); } while (foo)
> ok 2498 curly valid for (;foo;) { bar() }
> ok 2499 curly valid for (var foo in bar) { console.log(foo) }
> ok 2500 curly valid for (var foo of bar) { console.log(foo) }
> ok 2501 curly valid for (;foo;) bar()
> ok 2502 curly valid if (foo) bar()
> ok 2503 curly valid if (a) { b; c; }
> ok 2504 curly valid for (var foo in bar) console.log(foo)
> ok 2505 curly valid for (var foo in bar) { console.log(1); console.log(2) }
> ok 2506 curly valid for (var foo of bar) console.log(foo)
> ok 2507 curly valid for (var foo of bar) { console.log(1); console.log(2) }
> ok 2508 curly valid if (foo) bar()
> ok 2509 curly valid if (foo) bar() 
> 
> ok 2510 curly valid if (foo) bar(); else baz()
> ok 2511 curly valid if (foo) bar(); 
>  else baz()
> ok 2512 curly valid if (foo) bar() 
>  else if (foo) bar() 
>  else baz()
> ok 2513 curly valid do baz(); while (foo)
> ok 2514 curly valid if (foo) { bar() }
> ok 2515 curly valid for (var foo in bar) console.log(foo)
> ok 2516 curly valid for (var foo in bar) { 
>  console.log(1); 
>  console.log(2); 
>  }
> ok 2517 curly valid for (var foo of bar) console.log(foo)
> ok 2518 curly valid for (var foo of bar) { 
>  console.log(1); 
>  console.log(2); 
>  }
> ok 2519 curly valid if (foo) { 
>  bar(); 
>  baz(); 
>  }
> ok 2520 curly valid do bar() 
>  while (foo)
> ok 2521 curly valid if (foo) { 
>  quz = { 
>  bar: baz, 
>  qux: foo 
>  }; 
>  }
> ok 2522 curly valid while (true) { 
>  if (foo) 
>  doSomething(); 
>  else 
>  doSomethingElse(); 
>  }
> ok 2523 curly valid if (foo) 
>  quz = true;
> ok 2524 curly valid if (foo) { 
>  // line of comment 
>  quz = true; 
>  }
> ok 2525 curly valid // line of comment 
>  if (foo) 
>  quz = true; 
> 
> ok 2526 curly valid while (true) 
>  doSomething();
> ok 2527 curly valid for (var i = 0; foo; i++) 
>  doSomething();
> ok 2528 curly valid if (foo) { 
>  if(bar) 
>  doSomething(); 
>  } else 
>  doSomethingElse();
> ok 2529 curly valid for (var foo in bar) 
>  console.log(foo)
> ok 2530 curly valid for (var foo in bar) { 
>  if (foo) console.log(1); 
>  else console.log(2) 
>  }
> ok 2531 curly valid for (var foo of bar) 
>  console.log(foo)
> ok 2532 curly valid for (var foo of bar) { 
>  if (foo) console.log(1); 
>  else console.log(2) 
>  }
> ok 2533 curly valid if (true) { if (false) console.log(1) } else console.log(2)
> ok 2534 curly valid if (a) { if (b) console.log(1); else if (c) console.log(2) } else console.log(3)
> ok 2535 curly valid if (true) { while(false) if (true); } else;
> ok 2536 curly valid if (true) { label: if (false); } else;
> ok 2537 curly valid if (true) { with(0) if (false); } else;
> ok 2538 curly valid if (true) { while(a) if(b) while(c) if (d); else; } else;
> ok 2539 curly valid if (true) foo(); else { bar(); baz(); }
> ok 2540 curly valid if (true) { foo(); } else { bar(); baz(); }
> ok 2541 curly valid if (true) { foo(); } else if (true) { faa(); } else { bar(); baz(); }
> ok 2542 curly valid if (true) { foo(); faa(); } else { bar(); }
> ok 2543 curly valid if (true) foo()
> ;[1, 2, 3].bar()
> ok 2544 curly invalid if (foo) bar()
> ok 2545 curly invalid if (foo) { bar() } else baz()
> ok 2546 curly invalid if (foo) { bar() } else if (faa) baz()
> ok 2547 curly invalid while (foo) bar()
> ok 2548 curly invalid do bar(); while (foo)
> ok 2549 curly invalid for (;foo;) bar()
> ok 2550 curly invalid for (var foo in bar) console.log(foo)
> ok 2551 curly invalid for (var foo of bar) console.log(foo)
> ok 2552 curly invalid for (;foo;) { bar() }
> ok 2553 curly invalid if (foo) { bar() }
> ok 2554 curly invalid while (foo) { bar() }
> ok 2555 curly invalid if (foo) baz(); else { bar() }
> ok 2556 curly invalid if (true) { if (false) console.log(1) }
> ok 2557 curly invalid if (a) { if (b) console.log(1); else console.log(2) } else console.log(3)
> ok 2558 curly invalid if (0)
>     console.log(0)
> else if (1) {
>     console.log(1)
>     console.log(1)
> } else {
>     if (2)
>         console.log(2)
>     else
>         console.log(3)
> }
> ok 2559 curly invalid for (var foo in bar) { console.log(foo) }
> ok 2560 curly invalid for (var foo of bar) { console.log(foo) }
> ok 2561 curly invalid if (foo) 
>  baz()
> ok 2562 curly invalid while (foo) 
>  baz()
> ok 2563 curly invalid for (;foo;) 
>  bar()
> ok 2564 curly invalid while (bar && 
>  baz) 
>  foo()
> ok 2565 curly invalid if (foo) bar(baz, 
>  baz)
> ok 2566 curly invalid do 
>  foo(); 
>  while (bar)
> ok 2567 curly invalid for (var foo in bar) 
>  console.log(foo)
> ok 2568 curly invalid for (var foo in bar) 
>  console.log(1); 
>  console.log(2)
> ok 2569 curly invalid for (var foo of bar) 
>  console.log(foo)
> ok 2570 curly invalid for (var foo of bar) 
>  console.log(1); 
>  console.log(2)
> ok 2571 curly invalid if (foo) 
>  quz = { 
>  bar: baz, 
>  qux: foo 
>  };
> ok 2572 curly invalid while (true) 
>  if (foo) 
>  doSomething(); 
>  else 
>  doSomethingElse(); 
> 
> ok 2573 curly invalid if (foo) { 
>  quz = true; 
>  }
> ok 2574 curly invalid while (true) { 
>  doSomething(); 
>  }
> ok 2575 curly invalid for (var i = 0; foo; i++) { 
>  doSomething(); 
>  }
> ok 2576 curly invalid for (var foo in bar) 
>  if (foo) console.log(1); 
>  else console.log(2);
> ok 2577 curly invalid for (var foo in bar) { if (foo) console.log(1) }
> ok 2578 curly invalid for (var foo of bar) 
>  if (foo) console.log(1); 
>  else console.log(2);
> ok 2579 curly invalid for (var foo of bar) { if (foo) console.log(1) }
> ok 2580 curly invalid if (true) foo(); 
>  else { 
>  bar(); 
>  baz(); 
>  }
> ok 2581 curly invalid if (true) { foo(); faa(); }
>  else bar();
> ok 2582 curly invalid if (true) foo(); else { baz(); }
> ok 2583 curly invalid if (true) foo(); else if (true) faa(); else { bar(); baz(); }
> ok 2584 curly invalid do{foo();} while (bar)
> ok 2585 curly invalid do{[1, 2, 3].map(bar);} while (bar)
> ok 2586 curly invalid if (foo) {bar()} baz()
> ok 2587 curly invalid do {foo();} while (bar)
> ok 2588 curly invalid if (foo) { bar }
> ++baz;
> ok 2589 curly invalid if (foo) { bar; }
> ++baz;
> ok 2590 curly invalid if (foo) { bar++ }
> baz;
> ok 2591 curly invalid if (foo) { bar }
> [1, 2, 3].map(foo);
> ok 2592 curly invalid if (foo) { bar }
> (1).toString();
> ok 2593 curly invalid if (foo) { bar }
> /regex/.test('foo');
> ok 2594 curly invalid if (foo) { bar }
> Baz();
> ok 2595 curly invalid if (a) {
>   while (b) {
>     c();
>     d();
>   }
> } else e();
> ok 2596 curly invalid if (foo) { while (bar) {} } else {}
> ok 2597 curly invalid if (foo) { var foo = () => {} } else {}
> ok 2598 curly invalid if (foo) { var foo = function() {} } else {}
> ok 2599 curly invalid if (foo) { var foo = function*() {} } else {}
> ok 2600 curly invalid if (true)
> foo()
> ;[1, 2, 3].bar()
> ok 2601 default-case valid switch (a) { case 1: break; default: break; }
> ok 2602 default-case valid switch (a) { case 1: break; case 2: default: break; }
> ok 2603 default-case valid switch (a) { case 1: break; default: break; 
>  //no default 
>  }
> ok 2604 default-case valid switch (a) { 
>     case 1: break; 
> 
> //oh-oh 
>  // no default
>  }
> ok 2605 default-case valid switch (a) { 
>     case 1: 
> 
> // no default
>  }
> ok 2606 default-case valid switch (a) { 
>     case 1: 
> 
> // No default
>  }
> ok 2607 default-case valid switch (a) { 
>     case 1: 
> 
> // no deFAUlt
>  }
> ok 2608 default-case valid switch (a) { 
>     case 1: 
> 
> // NO DEFAULT
>  }
> ok 2609 default-case valid switch (a) { 
>     case 1: a = 4; 
> 
> // no default
>  }
> ok 2610 default-case valid switch (a) { 
>     case 1: a = 4; 
> 
> /* no default */
>  }
> ok 2611 default-case valid switch (a) { 
>     case 1: a = 4; break; break; 
> 
> // no default
>  }
> ok 2612 default-case valid switch (a) { // no default
>  }
> ok 2613 default-case valid switch (a) { }
> ok 2614 default-case valid switch (a) { case 1: break; default: break; }
> ok 2615 default-case valid switch (a) { case 1: break; 
>  // skip default case 
>  }
> ok 2616 default-case valid switch (a) { case 1: break; 
>  /*
> TODO:
>  throw error in default case
> */ 
>  }
> ok 2617 default-case valid switch (a) { case 1: break; 
> // 
>  }
> ok 2618 default-case invalid switch (a) { case 1: break; }
> ok 2619 default-case invalid switch (a) { 
>  // no default 
>  case 1: break;  }
> ok 2620 default-case invalid switch (a) { case 1: break; 
>  // no default 
>  // nope 
>   }
> ok 2621 default-case invalid switch (a) { case 1: break; 
>  // no default 
>  }
> ok 2622 default-case invalid switch (a) {
> case 1: break; 
> // default omitted intentionally 
> // TODO: add default case 
> }
> ok 2623 default-case invalid switch (a) {
> case 1: break;
> }
> ok 2624 dot-location valid obj.
> prop
> ok 2625 dot-location valid obj. 
> prop
> ok 2626 dot-location valid obj.
>  prop
> ok 2627 dot-location valid (obj).
> prop
> ok 2628 dot-location valid obj
> ['prop']
> ok 2629 dot-location valid obj['prop']
> ok 2630 dot-location valid obj.
> prop
> ok 2631 dot-location valid obj
> .prop
> ok 2632 dot-location valid (obj)
> .prop
> ok 2633 dot-location invalid obj
> .property
> ok 2634 dot-location invalid obj.
> property
> ok 2635 dot-location invalid (obj).
> property
> ok 2636 dot-location invalid 5
> .toExponential()
> ok 2637 dot-location invalid -5
> .toExponential()
> ok 2638 dot-location invalid foo /* a */ . /* b */ 
>  /* c */ bar
> ok 2639 dot-location invalid foo /* a */ 
>  /* b */ . /* c */ bar
> ok 2640 dot-notation valid a.b;
> ok 2641 dot-notation valid a.b.c;
> ok 2642 dot-notation valid a['12'];
> ok 2643 dot-notation valid a[b];
> ok 2644 dot-notation valid a[0];
> ok 2645 dot-notation valid a.b.c;
> ok 2646 dot-notation valid a.arguments;
> ok 2647 dot-notation valid a.let;
> ok 2648 dot-notation valid a.yield;
> ok 2649 dot-notation valid a.eval;
> ok 2650 dot-notation valid a[0];
> ok 2651 dot-notation valid a['while'];
> ok 2652 dot-notation valid a['true'];
> ok 2653 dot-notation valid a['null'];
> ok 2654 dot-notation valid a[true];
> ok 2655 dot-notation valid a[null];
> ok 2656 dot-notation valid a.true;
> ok 2657 dot-notation valid a.null;
> ok 2658 dot-notation valid a['snake_case'];
> ok 2659 dot-notation valid a['lots_of_snake_case'];
> ok 2660 dot-notation valid a[`time${range}`];
> ok 2661 dot-notation valid a[`while`];
> ok 2662 dot-notation valid a[`time range`];
> ok 2663 dot-notation valid a.true;
> ok 2664 dot-notation valid a.null;
> ok 2665 dot-notation valid a[undefined];
> ok 2666 dot-notation valid a[void 0];
> ok 2667 dot-notation valid a[b()];
> ok 2668 dot-notation invalid a.true;
> ok 2669 dot-notation invalid a['true'];
> ok 2670 dot-notation invalid a[`time`];
> ok 2671 dot-notation invalid a[null];
> ok 2672 dot-notation invalid a['b'];
> ok 2673 dot-notation invalid a.b['c'];
> ok 2674 dot-notation invalid a['_dangle'];
> ok 2675 dot-notation invalid a['SHOUT_CASE'];
> ok 2676 dot-notation invalid a
>   ['SHOUT_CASE'];
> ok 2677 dot-notation invalid getResource()
>     .then(function(){})
>     ["catch"](function(){})
>     .then(function(){})
>     ["catch"](function(){});
> ok 2678 dot-notation invalid foo
>   .while;
> ok 2679 dot-notation invalid foo[ /* comment */ 'bar' ]
> ok 2680 dot-notation invalid foo[ 'bar' /* comment */ ]
> ok 2681 dot-notation invalid foo[    'bar'    ];
> ok 2682 dot-notation invalid foo. /* comment */ while
> ok 2683 dot-notation invalid foo[('bar')]
> ok 2684 dot-notation invalid foo[(null)]
> ok 2685 dot-notation invalid (foo)['bar']
> ok 2686 dot-notation invalid 1['toString']
> ok 2687 dot-notation invalid foo['bar']instanceof baz
> ok 2688 dot-notation invalid let.if()
> ok 2689 eol-last valid 
> ok 2690 eol-last valid 
> 
> ok 2691 eol-last valid var a = 123;
> 
> ok 2692 eol-last valid var a = 123;
> 
> 
> ok 2693 eol-last valid var a = 123;
>    
> 
> ok 2694 eol-last valid 
> 
> 
> ok 2695 eol-last valid var a = 123;
> 
> 
> ok 2696 eol-last valid var a = 123;
> 
> 
> 
> 
> ok 2697 eol-last valid var a = 123;
> 
>    
> 
> 
> ok 2698 eol-last valid var a = 123;
> ok 2699 eol-last valid var a = 123;
> var b = 456;
> ok 2700 eol-last valid var a = 123;
> 
> var b = 456;
> ok 2701 eol-last valid 
> ok 2702 eol-last valid 
> 
> ok 2703 eol-last valid var a = 123;
> 
> ok 2704 eol-last valid var a = 123;
> 
> 
> ok 2705 eol-last valid var a = 123;
>    
> 
> ok 2706 eol-last valid 
> ok 2707 eol-last valid 
> 
> ok 2708 eol-last valid 
> 
> 
> ok 2709 eol-last valid var a = 123;
> 
> 
> ok 2710 eol-last valid var a = 123;
> 
> 
> 
> 
> ok 2711 eol-last valid var a = 123;
> 
>    
> 
> 
> ok 2712 eol-last invalid var a = 123;
> ok 2713 eol-last invalid var a = 123;
>    
> ok 2714 eol-last invalid var a = 123;
> 
> ok 2715 eol-last invalid var a = 123;
> 
> 
> ok 2716 eol-last invalid var a = 123;
> 
> 
> 
> 
> ok 2717 eol-last invalid var a = 123;
> var b = 456;
> 
> ok 2718 eol-last invalid var a = 123;
> 
> var b = 456;
> 
> 
> ok 2719 eol-last invalid var a = 123;
> 
> 
> ok 2720 eol-last invalid var a = 123;
> ok 2721 eol-last invalid var a = 123;
>    
> ok 2722 eol-last invalid var a = 123;
> ok 2723 eol-last invalid var a = 123;
> 
>    
> ok 2724 eqeqeq valid a === b
> ok 2725 eqeqeq valid a !== b
> ok 2726 eqeqeq valid a === b
> ok 2727 eqeqeq valid typeof a == 'number'
> ok 2728 eqeqeq valid 'string' != typeof a
> ok 2729 eqeqeq valid 'hello' != 'world'
> ok 2730 eqeqeq valid 2 == 3
> ok 2731 eqeqeq valid true == true
> ok 2732 eqeqeq valid null == a
> ok 2733 eqeqeq valid a == null
> ok 2734 eqeqeq valid null == a
> ok 2735 eqeqeq valid a == null
> ok 2736 eqeqeq valid a == null
> ok 2737 eqeqeq valid a != null
> ok 2738 eqeqeq valid a !== null
> ok 2739 eqeqeq valid a === null
> ok 2740 eqeqeq valid a !== null
> ok 2741 eqeqeq valid null === null
> ok 2742 eqeqeq valid null !== null
> ok 2743 eqeqeq valid a == null
> ok 2744 eqeqeq valid a != null
> ok 2745 eqeqeq valid null == null
> ok 2746 eqeqeq valid null != null
> ok 2747 eqeqeq valid foo === /abc/u
> ok 2748 eqeqeq invalid a == b
> ok 2749 eqeqeq invalid a != b
> ok 2750 eqeqeq invalid typeof a == 'number'
> ok 2751 eqeqeq invalid typeof a == 'number'
> ok 2752 eqeqeq invalid 'string' != typeof a
> ok 2753 eqeqeq invalid true == true
> ok 2754 eqeqeq invalid 2 == 3
> ok 2755 eqeqeq invalid 2 == 3
> ok 2756 eqeqeq invalid 'hello' != 'world'
> ok 2757 eqeqeq invalid 'hello' != 'world'
> ok 2758 eqeqeq invalid a == null
> ok 2759 eqeqeq invalid a == null
> ok 2760 eqeqeq invalid null != a
> ok 2761 eqeqeq invalid true == 1
> ok 2762 eqeqeq invalid 0 != '1'
> ok 2763 eqeqeq invalid 'wee' == /wee/
> ok 2764 eqeqeq invalid typeof a == 'number'
> ok 2765 eqeqeq invalid 'string' != typeof a
> ok 2766 eqeqeq invalid 'hello' != 'world'
> ok 2767 eqeqeq invalid 2 == 3
> ok 2768 eqeqeq invalid true == true
> ok 2769 eqeqeq invalid true == null
> ok 2770 eqeqeq invalid true != null
> ok 2771 eqeqeq invalid null == null
> ok 2772 eqeqeq invalid null != null
> ok 2773 eqeqeq invalid true === null
> ok 2774 eqeqeq invalid true !== null
> ok 2775 eqeqeq invalid null === null
> ok 2776 eqeqeq invalid null !== null
> ok 2777 eqeqeq invalid a
> ==
> b
> ok 2778 eqeqeq invalid (a) == b
> ok 2779 eqeqeq invalid (a) != b
> ok 2780 eqeqeq invalid a == (b)
> ok 2781 eqeqeq invalid a != (b)
> ok 2782 eqeqeq invalid (a) == (b)
> ok 2783 eqeqeq invalid (a) != (b)
> ok 2784 eqeqeq invalid (a == b) == (c)
> ok 2785 eqeqeq invalid (a != b) != (c)
> ok 2786 for-direction valid for(var i = 0; i < 10; i++){}
> ok 2787 for-direction valid for(var i = 0; i <= 10; i++){}
> ok 2788 for-direction valid for(var i = 10; i > 0; i--){}
> ok 2789 for-direction valid for(var i = 10; i >= 0; i--){}
> ok 2790 for-direction valid for(var i = 0; i < 10; i+=1){}
> ok 2791 for-direction valid for(var i = 0; i <= 10; i+=1){}
> ok 2792 for-direction valid for(var i = 0; i < 10; i-=-1){}
> ok 2793 for-direction valid for(var i = 0; i <= 10; i-=-1){}
> ok 2794 for-direction valid for(var i = 10; i > 0; i-=1){}
> ok 2795 for-direction valid for(var i = 10; i >= 0; i-=1){}
> ok 2796 for-direction valid for(var i = 10; i > 0; i+=-1){}
> ok 2797 for-direction valid for(var i = 10; i >= 0; i+=-1){}
> ok 2798 for-direction valid for(var i = 10; i > 0;){}
> ok 2799 for-direction valid for(var i = 10; i >= 0;){}
> ok 2800 for-direction valid for(var i = 10; i < 0;){}
> ok 2801 for-direction valid for(var i = 10; i <= 0;){}
> ok 2802 for-direction valid for(var i = 10; i <= 0; j++){}
> ok 2803 for-direction valid for(var i = 10; i <= 0; j--){}
> ok 2804 for-direction valid for(var i = 10; i >= 0; j++){}
> ok 2805 for-direction valid for(var i = 10; i >= 0; j--){}
> ok 2806 for-direction valid for(var i = 10; i >= 0; j += 2){}
> ok 2807 for-direction valid for(var i = 10; i >= 0; j -= 2){}
> ok 2808 for-direction valid for(var i = 10; i >= 0; i |= 2){}
> ok 2809 for-direction valid for(var i = 10; i >= 0; i %= 2){}
> ok 2810 for-direction valid for(var i = 0; i < MAX; i += STEP_SIZE);
> ok 2811 for-direction valid for(var i = 0; i < MAX; i -= STEP_SIZE);
> ok 2812 for-direction valid for(var i = 10; i > 0; i += STEP_SIZE);
> ok 2813 for-direction invalid for(var i = 0; i < 10; i--){}
> ok 2814 for-direction invalid for(var i = 0; i <= 10; i--){}
> ok 2815 for-direction invalid for(var i = 10; i > 10; i++){}
> ok 2816 for-direction invalid for(var i = 10; i >= 0; i++){}
> ok 2817 for-direction invalid for(var i = 0; i < 10; i-=1){}
> ok 2818 for-direction invalid for(var i = 0; i <= 10; i-=1){}
> ok 2819 for-direction invalid for(var i = 10; i > 10; i+=1){}
> ok 2820 for-direction invalid for(var i = 10; i >= 0; i+=1){}
> ok 2821 for-direction invalid for(var i = 0; i < 10; i+=-1){}
> ok 2822 for-direction invalid for(var i = 0; i <= 10; i+=-1){}
> ok 2823 for-direction invalid for(var i = 10; i > 10; i-=-1){}
> ok 2824 for-direction invalid for(var i = 10; i >= 0; i-=-1){}
> ok 2825 func-call-spacing valid f();
> ok 2826 func-call-spacing valid f(a, b);
> ok 2827 func-call-spacing valid f.b();
> ok 2828 func-call-spacing valid f.b().c();
> ok 2829 func-call-spacing valid f()()
> ok 2830 func-call-spacing valid (function() {}())
> ok 2831 func-call-spacing valid var f = new Foo()
> ok 2832 func-call-spacing valid var f = new Foo
> ok 2833 func-call-spacing valid f( (0) )
> ok 2834 func-call-spacing valid ( f )( 0 )
> ok 2835 func-call-spacing valid ( (f) )( (0) )
> ok 2836 func-call-spacing valid ( f()() )(0)
> ok 2837 func-call-spacing valid (function(){ if (foo) { bar(); } }());
> ok 2838 func-call-spacing valid f(0, (1))
> ok 2839 func-call-spacing valid describe/**/('foo', function () {});
> ok 2840 func-call-spacing valid new (foo())
> ok 2841 func-call-spacing valid f();
> ok 2842 func-call-spacing valid f(a, b);
> ok 2843 func-call-spacing valid f.b();
> ok 2844 func-call-spacing valid f.b().c();
> ok 2845 func-call-spacing valid f()()
> ok 2846 func-call-spacing valid (function() {}())
> ok 2847 func-call-spacing valid var f = new Foo()
> ok 2848 func-call-spacing valid var f = new Foo
> ok 2849 func-call-spacing valid f( (0) )
> ok 2850 func-call-spacing valid ( f )( 0 )
> ok 2851 func-call-spacing valid ( (f) )( (0) )
> ok 2852 func-call-spacing valid ( f()() )(0)
> ok 2853 func-call-spacing valid (function(){ if (foo) { bar(); } }());
> ok 2854 func-call-spacing valid f(0, (1))
> ok 2855 func-call-spacing valid describe/**/('foo', function () {});
> ok 2856 func-call-spacing valid new (foo())
> ok 2857 func-call-spacing valid f ();
> ok 2858 func-call-spacing valid f (a, b);
> ok 2859 func-call-spacing valid f.b ();
> ok 2860 func-call-spacing valid f.b ().c ();
> ok 2861 func-call-spacing valid f () ()
> ok 2862 func-call-spacing valid (function() {} ())
> ok 2863 func-call-spacing valid var f = new Foo ()
> ok 2864 func-call-spacing valid var f = new Foo
> ok 2865 func-call-spacing valid f ( (0) )
> ok 2866 func-call-spacing valid f (0) (1)
> ok 2867 func-call-spacing valid (f) (0)
> ok 2868 func-call-spacing valid f ();
>  t   ();
> ok 2869 func-call-spacing valid f
> ();
> ok 2870 func-call-spacing valid f.b 
>  ();
> ok 2871 func-call-spacing valid f
> () ().b 
> ()
>  ()
> ok 2872 func-call-spacing valid var f = new Foo
> ();
> ok 2873 func-call-spacing valid f// comment
> ()
> ok 2874 func-call-spacing valid f // comment
>  ()
> ok 2875 func-call-spacing valid f
> /*
> */
> ()
> ok 2876 func-call-spacing valid f
> ();
> ok 2877 func-call-spacing valid f
();
> ok 2878 func-call-spacing valid f
();
> ok 2879 func-call-spacing valid f
> 
> ();
> ok 2880 func-call-spacing invalid f ();
> ok 2881 func-call-spacing invalid f (a, b);
> ok 2882 func-call-spacing invalid f.b ();
> ok 2883 func-call-spacing invalid f.b().c ();
> ok 2884 func-call-spacing invalid f() ()
> ok 2885 func-call-spacing invalid (function() {} ())
> ok 2886 func-call-spacing invalid var f = new Foo ()
> ok 2887 func-call-spacing invalid f ( (0) )
> ok 2888 func-call-spacing invalid f(0) (1)
> ok 2889 func-call-spacing invalid (f) (0)
> ok 2890 func-call-spacing invalid f ();
>  t   ();
> ok 2891 func-call-spacing invalid f
> ();
> ok 2892 func-call-spacing invalid f
> ();
> ok 2893 func-call-spacing invalid f
();
> ok 2894 func-call-spacing invalid f
();
> ok 2895 func-call-spacing invalid f
> 
> ();
> ok 2896 func-call-spacing invalid f ();
> ok 2897 func-call-spacing invalid f (a, b);
> ok 2898 func-call-spacing invalid f.b ();
> ok 2899 func-call-spacing invalid f.b().c ();
> ok 2900 func-call-spacing invalid f() ()
> ok 2901 func-call-spacing invalid (function() {} ())
> ok 2902 func-call-spacing invalid var f = new Foo ()
> ok 2903 func-call-spacing invalid f ( (0) )
> ok 2904 func-call-spacing invalid f(0) (1)
> ok 2905 func-call-spacing invalid (f) (0)
> ok 2906 func-call-spacing invalid f ();
>  t   ();
> ok 2907 func-call-spacing invalid f
> ();
> ok 2908 func-call-spacing invalid this.cancelled.add(request)
> this.decrement(request)
> (0, request.reject)(new api.Cancel())
> ok 2909 func-call-spacing invalid var a = foo
> (function(global) {}(this));
> ok 2910 func-call-spacing invalid var a = foo
> (0, baz())
> ok 2911 func-call-spacing invalid f
> ();
> ok 2912 func-call-spacing invalid f
();
> ok 2913 func-call-spacing invalid f
();
> ok 2914 func-call-spacing invalid f
> 
> ();
> ok 2915 func-call-spacing invalid f();
> ok 2916 func-call-spacing invalid f
> ();
> ok 2917 func-call-spacing invalid f(a, b);
> ok 2918 func-call-spacing invalid f
> (a, b);
> ok 2919 func-call-spacing invalid f.b();
> ok 2920 func-call-spacing invalid f.b
> ();
> ok 2921 func-call-spacing invalid f.b().c ();
> ok 2922 func-call-spacing invalid f.b
> ().c ();
> ok 2923 func-call-spacing invalid f() ()
> ok 2924 func-call-spacing invalid f
> () ()
> ok 2925 func-call-spacing invalid f
> ()()
> ok 2926 func-call-spacing invalid (function() {}())
> ok 2927 func-call-spacing invalid var f = new Foo()
> ok 2928 func-call-spacing invalid f( (0) )
> ok 2929 func-call-spacing invalid f(0) (1)
> ok 2930 func-call-spacing invalid (f)(0)
> ok 2931 func-call-spacing invalid f();
>  t();
> ok 2932 func-call-spacing invalid f
> ();
> ok 2933 func-call-spacing invalid f
();
> ok 2934 func-call-spacing invalid f
();
> ok 2935 func-call-spacing invalid f
> 
> ();
> ok 2936 func-call-spacing invalid f();
> ok 2937 func-call-spacing invalid f(a, b);
> ok 2938 func-call-spacing invalid f.b();
> ok 2939 func-call-spacing invalid f.b().c ();
> ok 2940 func-call-spacing invalid f() ()
> ok 2941 func-call-spacing invalid (function() {}())
> ok 2942 func-call-spacing invalid var f = new Foo()
> ok 2943 func-call-spacing invalid f( (0) )
> ok 2944 func-call-spacing invalid f(0) (1)
> ok 2945 func-call-spacing invalid (f)(0)
> ok 2946 func-call-spacing invalid f();
>  t();
> ok 2947 func-name-matching valid var foo;
> ok 2948 func-name-matching valid var foo = function foo() {};
> ok 2949 func-name-matching valid var foo = function foo() {};
> ok 2950 func-name-matching valid var foo = function bar() {};
> ok 2951 func-name-matching valid var foo = function() {}
> ok 2952 func-name-matching valid var foo = () => {}
> ok 2953 func-name-matching valid foo = function foo() {};
> ok 2954 func-name-matching valid foo = function foo() {};
> ok 2955 func-name-matching valid foo = function bar() {};
> ok 2956 func-name-matching valid obj.foo = function foo() {};
> ok 2957 func-name-matching valid obj.foo = function foo() {};
> ok 2958 func-name-matching valid obj.foo = function bar() {};
> ok 2959 func-name-matching valid obj.foo = function() {};
> ok 2960 func-name-matching valid obj.foo = function() {};
> ok 2961 func-name-matching valid obj.foo = function() {};
> ok 2962 func-name-matching valid obj.bar.foo = function foo() {};
> ok 2963 func-name-matching valid obj.bar.foo = function foo() {};
> ok 2964 func-name-matching valid obj.bar.foo = function baz() {};
> ok 2965 func-name-matching valid obj['foo'] = function foo() {};
> ok 2966 func-name-matching valid obj['foo'] = function foo() {};
> ok 2967 func-name-matching valid obj['foo'] = function bar() {};
> ok 2968 func-name-matching valid obj['foo//bar'] = function foo() {};
> ok 2969 func-name-matching valid obj['foo//bar'] = function foo() {};
> ok 2970 func-name-matching valid obj['foo//bar'] = function foo() {};
> ok 2971 func-name-matching valid obj[foo] = function bar() {};
> ok 2972 func-name-matching valid obj[foo] = function bar() {};
> ok 2973 func-name-matching valid obj[foo] = function bar() {};
> ok 2974 func-name-matching valid var obj = {foo: function foo() {}};
> ok 2975 func-name-matching valid var obj = {foo: function foo() {}};
> ok 2976 func-name-matching valid var obj = {foo: function bar() {}};
> ok 2977 func-name-matching valid var obj = {'foo': function foo() {}};
> ok 2978 func-name-matching valid var obj = {'foo': function foo() {}};
> ok 2979 func-name-matching valid var obj = {'foo': function bar() {}};
> ok 2980 func-name-matching valid var obj = {'foo//bar': function foo() {}};
> ok 2981 func-name-matching valid var obj = {'foo//bar': function foo() {}};
> ok 2982 func-name-matching valid var obj = {'foo//bar': function foo() {}};
> ok 2983 func-name-matching valid var obj = {foo: function() {}};
> ok 2984 func-name-matching valid var obj = {foo: function() {}};
> ok 2985 func-name-matching valid var obj = {foo: function() {}};
> ok 2986 func-name-matching valid var obj = {[foo]: function bar() {}} 
> ok 2987 func-name-matching valid var obj = {['x' + 2]: function bar(){}};
> ok 2988 func-name-matching valid obj['x' + 2] = function bar(){};
> ok 2989 func-name-matching valid var [ bar ] = [ function bar(){} ];
> ok 2990 func-name-matching valid function a(foo = function bar() {}) {}
> ok 2991 func-name-matching valid module.exports = function foo(name) {};
> ok 2992 func-name-matching valid module['exports'] = function foo(name) {};
> ok 2993 func-name-matching valid module.exports = function foo(name) {};
> ok 2994 func-name-matching valid module.exports = function foo(name) {};
> ok 2995 func-name-matching valid module.exports = function foo(name) {};
> ok 2996 func-name-matching valid module['exports'] = function foo(name) {};
> ok 2997 func-name-matching valid module['exports'] = function foo(name) {};
> ok 2998 func-name-matching valid module['exports'] = function foo(name) {};
> ok 2999 func-name-matching valid ({['foo']: function foo() {}})
> ok 3000 func-name-matching valid ({['foo']: function foo() {}})
> ok 3001 func-name-matching valid ({['foo']: function bar() {}})
> ok 3002 func-name-matching valid ({['❤']: function foo() {}})
> ok 3003 func-name-matching valid ({[foo]: function bar() {}})
> ok 3004 func-name-matching valid ({[null]: function foo() {}})
> ok 3005 func-name-matching valid ({[1]: function foo() {}})
> ok 3006 func-name-matching valid ({[true]: function foo() {}})
> ok 3007 func-name-matching valid ({[`x`]: function foo() {}})
> ok 3008 func-name-matching valid ({[/abc/]: function foo() {}})
> ok 3009 func-name-matching valid ({[[1, 2, 3]]: function foo() {}})
> ok 3010 func-name-matching valid ({[{x: 1}]: function foo() {}})
> ok 3011 func-name-matching valid [] = function foo() {}
> ok 3012 func-name-matching valid ({} = function foo() {})
> ok 3013 func-name-matching valid [a] = function foo() {}
> ok 3014 func-name-matching valid ({a} = function foo() {})
> ok 3015 func-name-matching valid var [] = function foo() {}
> ok 3016 func-name-matching valid var {} = function foo() {}
> ok 3017 func-name-matching valid var [a] = function foo() {}
> ok 3018 func-name-matching valid var {a} = function foo() {}
> ok 3019 func-name-matching valid ({ value: function value() {} })
> ok 3020 func-name-matching valid obj.foo = function foo() {};
> ok 3021 func-name-matching valid obj.bar.foo = function foo() {};
> ok 3022 func-name-matching valid var obj = {foo: function foo() {}};
> ok 3023 func-name-matching valid var obj = {foo: function() {}};
> ok 3024 func-name-matching valid var obj = { value: function value() {} }
> ok 3025 func-name-matching valid Object.defineProperty(foo, 'bar', { value: function bar() {} })
> ok 3026 func-name-matching valid Object.defineProperties(foo, { bar: { value: function bar() {} } })
> ok 3027 func-name-matching valid Object.create(proto, { bar: { value: function bar() {} } })
> ok 3028 func-name-matching valid Object.defineProperty(foo, 'b' + 'ar', { value: function bar() {} })
> ok 3029 func-name-matching valid Object.defineProperties(foo, { ['bar']: { value: function bar() {} } })
> ok 3030 func-name-matching valid Object.create(proto, { ['bar']: { value: function bar() {} } })
> ok 3031 func-name-matching valid Object.defineProperty(foo, 'bar', { value() {} })
> ok 3032 func-name-matching valid Object.defineProperties(foo, { bar: { value() {} } })
> ok 3033 func-name-matching valid Object.create(proto, { bar: { value() {} } })
> ok 3034 func-name-matching valid Reflect.defineProperty(foo, 'bar', { value: function bar() {} })
> ok 3035 func-name-matching valid Reflect.defineProperty(foo, 'b' + 'ar', { value: function baz() {} })
> ok 3036 func-name-matching valid Reflect.defineProperty(foo, 'bar', { value() {} })
> ok 3037 func-name-matching invalid let foo = function bar() {};
> ok 3038 func-name-matching invalid let foo = function bar() {};
> ok 3039 func-name-matching invalid foo = function bar() {};
> ok 3040 func-name-matching invalid obj.foo = function bar() {};
> ok 3041 func-name-matching invalid obj.bar.foo = function bar() {};
> ok 3042 func-name-matching invalid obj['foo'] = function bar() {};
> ok 3043 func-name-matching invalid let obj = {foo: function bar() {}};
> ok 3044 func-name-matching invalid let obj = {'foo': function bar() {}};
> ok 3045 func-name-matching invalid ({['foo']: function bar() {}})
> ok 3046 func-name-matching invalid module.exports = function foo(name) {};
> ok 3047 func-name-matching invalid module.exports = function foo(name) {};
> ok 3048 func-name-matching invalid module.exports = function exports(name) {};
> ok 3049 func-name-matching invalid module['exports'] = function foo(name) {};
> ok 3050 func-name-matching invalid module['exports'] = function foo(name) {};
> ok 3051 func-name-matching invalid module['exports'] = function exports(name) {};
> ok 3052 func-name-matching invalid var foo = function foo(name) {};
> ok 3053 func-name-matching invalid obj.foo = function foo(name) {};
> ok 3054 func-name-matching invalid Object.defineProperty(foo, 'bar', { value: function baz() {} })
> ok 3055 func-name-matching invalid Object.defineProperties(foo, { bar: { value: function baz() {} } })
> ok 3056 func-name-matching invalid Object.create(proto, { bar: { value: function baz() {} } })
> ok 3057 func-name-matching invalid var obj = { value: function foo(name) {} }
> ok 3058 func-name-matching invalid Object.defineProperty(foo, 'bar', { value: function bar() {} })
> ok 3059 func-name-matching invalid Object.defineProperties(foo, { bar: { value: function bar() {} } })
> ok 3060 func-name-matching invalid Object.create(proto, { bar: { value: function bar() {} } })
> ok 3061 func-name-matching invalid Reflect.defineProperty(foo, 'bar', { value: function baz() {} })
> ok 3062 func-name-matching invalid Reflect.defineProperty(foo, 'bar', { value: function bar() {} })
> ok 3063 func-names valid Foo.prototype.bar = function bar(){};
> ok 3064 func-names valid Foo.prototype.bar = () => {}
> ok 3065 func-names valid function foo(){}
> ok 3066 func-names valid function test(d, e, f) {}
> ok 3067 func-names valid new function bar(){}
> ok 3068 func-names valid exports = { get foo() { return 1; }, set bar(val) { return val; } };
> ok 3069 func-names valid ({ foo() { return 1; } });
> ok 3070 func-names valid class A { constructor(){} foo(){} get bar(){} set baz(value){} static qux(){}}
> ok 3071 func-names valid function foo() {}
> ok 3072 func-names valid var a = function foo() {};
> ok 3073 func-names valid class A { constructor(){} foo(){} get bar(){} set baz(value){} static qux(){}}
> ok 3074 func-names valid ({ foo() {} });
> ok 3075 func-names valid var foo = function(){};
> ok 3076 func-names valid ({foo: function(){}});
> ok 3077 func-names valid (foo = function(){});
> ok 3078 func-names valid export default (function(){});
> ok 3079 func-names valid ({foo = function(){}} = {});
> ok 3080 func-names valid ({key: foo = function(){}} = {});
> ok 3081 func-names valid [foo = function(){}] = [];
> ok 3082 func-names valid function fn(foo = function(){}) {}
> ok 3083 func-names valid function foo() {}
> ok 3084 func-names valid var a = function() {};
> ok 3085 func-names valid var a = function foo() { foo(); };
> ok 3086 func-names valid var foo = {bar: function() {}};
> ok 3087 func-names valid $('foo').click(function() {});
> ok 3088 func-names valid Foo.prototype.bar = function() {};
> ok 3089 func-names valid class A { constructor(){} foo(){} get bar(){} set baz(value){} static qux(){}}
> ok 3090 func-names valid ({ foo() {} });
> ok 3091 func-names valid var foo = bar(function *baz() {});
> ok 3092 func-names valid var foo = bar(function *baz() {});
> ok 3093 func-names valid var foo = bar(function *baz() {});
> ok 3094 func-names valid var foo = function*() {};
> ok 3095 func-names valid var foo = bar(function *baz() {});
> ok 3096 func-names valid var foo = function*() {};
> ok 3097 func-names valid var foo = bar(function *baz() {});
> ok 3098 func-names valid var foo = bar(function *baz() {});
> ok 3099 func-names valid var foo = function*() {};
> ok 3100 func-names valid var foo = bar(function *baz() {});
> ok 3101 func-names valid var foo = bar(function *baz() {});
> ok 3102 func-names valid var foo = function*() {};
> ok 3103 func-names valid var foo = bar(function *() {});
> ok 3104 func-names valid var foo = function*() {};
> ok 3105 func-names valid (function*() {}())
> ok 3106 func-names valid var foo = bar(function *() {});
> ok 3107 func-names valid var foo = function*() {};
> ok 3108 func-names valid (function*() {}())
> ok 3109 func-names valid var foo = bar(function *() {});
> ok 3110 func-names valid var foo = function*() {};
> ok 3111 func-names valid (function*() {}())
> ok 3112 func-names valid var foo = bar(function *() {});
> ok 3113 func-names valid var foo = function*() {};
> ok 3114 func-names valid (function*() {}())
> ok 3115 func-names invalid Foo.prototype.bar = function() {};
> ok 3116 func-names invalid (function(){}())
> ok 3117 func-names invalid f(function(){})
> ok 3118 func-names invalid var a = new Date(function() {});
> ok 3119 func-names invalid var test = function(d, e, f) {};
> ok 3120 func-names invalid new function() {}
> ok 3121 func-names invalid Foo.prototype.bar = function() {};
> ok 3122 func-names invalid (function(){}())
> ok 3123 func-names invalid f(function(){})
> ok 3124 func-names invalid var a = new Date(function() {});
> ok 3125 func-names invalid new function() {}
> ok 3126 func-names invalid var {foo} = function(){};
> ok 3127 func-names invalid var x = function foo() {};
> ok 3128 func-names invalid Foo.prototype.bar = function foo() {};
> ok 3129 func-names invalid ({foo: function foo() {}})
> ok 3130 func-names invalid var foo = bar(function *() {});
> ok 3131 func-names invalid var foo = function*() {};
> ok 3132 func-names invalid (function*() {}())
> ok 3133 func-names invalid var foo = bar(function *() {});
> ok 3134 func-names invalid var foo = function*() {};
> ok 3135 func-names invalid (function*() {}())
> ok 3136 func-names invalid var foo = bar(function *() {});
> ok 3137 func-names invalid (function*() {}())
> ok 3138 func-names invalid var foo = bar(function *() {});
> ok 3139 func-names invalid (function*() {}())
> ok 3140 func-names invalid var foo = bar(function *() {});
> ok 3141 func-names invalid var foo = function*() {};
> ok 3142 func-names invalid (function*() {}())
> ok 3143 func-names invalid var foo = bar(function *() {});
> ok 3144 func-names invalid (function*() {}())
> ok 3145 func-names invalid var foo = bar(function *() {});
> ok 3146 func-names invalid var foo = function*() {};
> ok 3147 func-names invalid (function*() {}())
> ok 3148 func-names invalid var foo = bar(function *() {});
> ok 3149 func-names invalid (function*() {}())
> ok 3150 func-names invalid var foo = bar(function *baz() {});
> ok 3151 func-names invalid var foo = bar(function *baz() {});
> ok 3152 func-names invalid var foo = bar(function *baz() {});
> ok 3153 func-names invalid var foo = bar(function *baz() {});
> ok 3154 func-style valid function foo(){}
>  function bar(){}
> ok 3155 func-style valid foo.bar = function(){};
> ok 3156 func-style valid (function() { /* code */ }());
> ok 3157 func-style valid var module = (function() { return {}; }());
> ok 3158 func-style valid var object = { foo: function(){} };
> ok 3159 func-style valid Array.prototype.foo = function(){};
> ok 3160 func-style valid foo.bar = function(){};
> ok 3161 func-style valid var foo = function(){};
>  var bar = function(){};
> ok 3162 func-style valid var foo = () => {};
>  var bar = () => {}
> ok 3163 func-style valid var foo = function() { this; }.bind(this);
> ok 3164 func-style valid var foo = () => { this; };
> ok 3165 func-style valid export default function () {};
> ok 3166 func-style valid var foo = () => {};
> ok 3167 func-style valid var foo = () => { function foo() { this; } };
> ok 3168 func-style invalid var foo = function(){};
> ok 3169 func-style invalid var foo = () => {};
> ok 3170 func-style invalid var foo = () => { function foo() { this; } };
> ok 3171 func-style invalid function foo(){}
> ok 3172 function-paren-newline valid function baz(foo, bar) {}
> ok 3173 function-paren-newline valid (function(foo, bar) {});
> ok 3174 function-paren-newline valid (function baz(foo, bar) {});
> ok 3175 function-paren-newline valid (foo, bar) => {};
> ok 3176 function-paren-newline valid foo => {};
> ok 3177 function-paren-newline valid baz(foo, bar);
> ok 3178 function-paren-newline valid function baz() {}
> ok 3179 function-paren-newline valid 
>             function baz(
>                 foo,
>                 bar
>             ) {}
>         
> ok 3180 function-paren-newline valid 
>             (function(
>                 foo,
>                 bar
>             ) {});
>         
> ok 3181 function-paren-newline valid 
>             (function baz(
>                 foo,
>                 bar
>             ) {});
>         
> ok 3182 function-paren-newline valid 
>             (
>                 foo,
>                 bar
>             ) => {};
>         
> ok 3183 function-paren-newline valid 
>             baz(
>                 foo,
>                 bar
>             );
>         
> ok 3184 function-paren-newline valid 
>             baz(`foo
>                 bar`)
>         
> ok 3185 function-paren-newline valid new Foo(bar, baz)
> ok 3186 function-paren-newline valid new Foo
> ok 3187 function-paren-newline valid new (Foo)
> ok 3188 function-paren-newline valid 
>             (foo)
>             (bar)
>         
> ok 3189 function-paren-newline valid 
>             foo.map(value => {
>               return value;
>             })
>         
> ok 3190 function-paren-newline valid function baz(foo, bar) {}
> ok 3191 function-paren-newline valid 
>                 function baz(
>                     foo,
>                     bar
>                 ) {}
>             
> ok 3192 function-paren-newline valid 
>                 (function(
>                     foo,
>                     bar
>                 ) {});
>             
> ok 3193 function-paren-newline valid 
>                 (function baz(
>                     foo,
>                     bar
>                 ) {});
>             
> ok 3194 function-paren-newline valid 
>                 (
>                     foo,
>                     bar
>                 ) => {};
>             
> ok 3195 function-paren-newline valid 
>                 baz(
>                     foo,
>                     bar
>                 );
>             
> ok 3196 function-paren-newline valid 
>                 function baz(
>                 ) {}
>             
> ok 3197 function-paren-newline valid function baz(foo, bar) {}
> ok 3198 function-paren-newline valid (function(foo, bar) {});
> ok 3199 function-paren-newline valid (function baz(foo, bar) {});
> ok 3200 function-paren-newline valid (foo, bar) => {};
> ok 3201 function-paren-newline valid baz(foo, bar);
> ok 3202 function-paren-newline valid function baz() {}
> ok 3203 function-paren-newline valid function baz(foo, bar) {}
> ok 3204 function-paren-newline valid 
>                 function baz(
>                     foo, bar, qux
>                 ) {}
>             
> ok 3205 function-paren-newline valid 
>                 baz(
>                     foo, bar, qux
>                 );
>             
> ok 3206 function-paren-newline valid baz(foo, bar);
> ok 3207 function-paren-newline valid foo(bar, baz)
> ok 3208 function-paren-newline valid 
>                 foo(bar,
>                 baz)
>             
> ok 3209 function-paren-newline valid 
>                 foo(
>                     bar, baz
>                 )
>             
> ok 3210 function-paren-newline valid 
>                 foo(
>                     bar,
>                     baz
>                 )
>             
> ok 3211 function-paren-newline invalid 
>                 function baz(foo,
>                     bar
>                 ) {}
>             
> ok 3212 function-paren-newline invalid 
>                 (function(
>                     foo,
>                     bar) {})
>             
> ok 3213 function-paren-newline invalid 
>                 (function baz(foo,
>                     bar) {})
>             
> ok 3214 function-paren-newline invalid 
>                 baz(
>                     foo, bar);
>             
> ok 3215 function-paren-newline invalid 
>                 (foo, bar
>                 ) => {};
>             
> ok 3216 function-paren-newline invalid 
>                 function baz(
>                     foo, bar
>                 ) {}
>             
> ok 3217 function-paren-newline invalid 
>                 function baz(
>                     foo =
>                     1
>                 ) {}
>             
> ok 3218 function-paren-newline invalid 
>                 function baz(
>                 ) {}
>             
> ok 3219 function-paren-newline invalid 
>                 new Foo(bar,
>                     baz);
>             
> ok 3220 function-paren-newline invalid 
>                 function baz(/* not fixed due to comment */
>                 foo) {}
>             
> ok 3221 function-paren-newline invalid 
>                 function baz(foo
>                 /* not fixed due to comment */) {}
>             
> ok 3222 function-paren-newline invalid 
>                 function baz(foo,
>                     bar
>                 ) {}
>             
> ok 3223 function-paren-newline invalid 
>                 (function(
>                     foo,
>                     bar) {})
>             
> ok 3224 function-paren-newline invalid 
>                 (function baz(foo,
>                     bar) {})
>             
> ok 3225 function-paren-newline invalid function baz(foo, bar) {}
> ok 3226 function-paren-newline invalid (function(foo, bar) {});
> ok 3227 function-paren-newline invalid (function baz(foo, bar) {});
> ok 3228 function-paren-newline invalid (foo, bar) => {};
> ok 3229 function-paren-newline invalid baz(foo, bar);
> ok 3230 function-paren-newline invalid function baz() {}
> ok 3231 function-paren-newline invalid 
>                 function baz(foo,
>                     bar
>                 ) {}
>             
> ok 3232 function-paren-newline invalid 
>                 (function(
>                     foo,
>                     bar) {})
>             
> ok 3233 function-paren-newline invalid 
>                 function baz(
>                     foo,
>                     bar
>                 ) {}
>             
> ok 3234 function-paren-newline invalid 
>                 (function(
>                     foo,
>                     bar
>                 ) {});
>             
> ok 3235 function-paren-newline invalid 
>                 (function baz(
>                     foo,
>                     bar
>                 ) {});
>             
> ok 3236 function-paren-newline invalid 
>                 (
>                     foo,
>                     bar
>                 ) => {};
>             
> ok 3237 function-paren-newline invalid 
>                 baz(
>                     foo,
>                     bar
>                 );
>             
> ok 3238 function-paren-newline invalid 
>                 function baz(
>                 ) {}
>             
> ok 3239 function-paren-newline invalid function baz(foo, bar, qux) {}
> ok 3240 function-paren-newline invalid 
>                 function baz(
>                     foo, bar
>                 ) {}
>             
> ok 3241 function-paren-newline invalid baz(foo, bar, qux);
> ok 3242 function-paren-newline invalid 
>                 baz(
>                     foo,
>                     bar
>                 );
>             
> ok 3243 function-paren-newline invalid 
>                 foo(
>                     bar,
>                     baz)
>             
> ok 3244 function-paren-newline invalid 
>                 foo(bar,
>                     baz
>                 )
>             
> ok 3245 generator-star-spacing valid function foo(){}
> ok 3246 generator-star-spacing valid function *foo(){}
> ok 3247 generator-star-spacing valid function *foo(arg1, arg2){}
> ok 3248 generator-star-spacing valid var foo = function *foo(){};
> ok 3249 generator-star-spacing valid var foo = function *(){};
> ok 3250 generator-star-spacing valid var foo = { *foo(){} };
> ok 3251 generator-star-spacing valid var foo = {*foo(){} };
> ok 3252 generator-star-spacing valid class Foo { *foo(){} }
> ok 3253 generator-star-spacing valid class Foo {*foo(){} }
> ok 3254 generator-star-spacing valid class Foo { static *foo(){} }
> ok 3255 generator-star-spacing valid var foo = {*[ foo ](){} };
> ok 3256 generator-star-spacing valid class Foo {*[ foo ](){} }
> ok 3257 generator-star-spacing valid function foo(){}
> ok 3258 generator-star-spacing valid function *foo(){}
> ok 3259 generator-star-spacing valid function *foo(arg1, arg2){}
> ok 3260 generator-star-spacing valid var foo = function *foo(){};
> ok 3261 generator-star-spacing valid var foo = function *(){};
> ok 3262 generator-star-spacing valid var foo = { *foo(){} };
> ok 3263 generator-star-spacing valid var foo = {*foo(){} };
> ok 3264 generator-star-spacing valid class Foo { *foo(){} }
> ok 3265 generator-star-spacing valid class Foo {*foo(){} }
> ok 3266 generator-star-spacing valid class Foo { static *foo(){} }
> ok 3267 generator-star-spacing valid class Foo {*[ foo ](){} }
> ok 3268 generator-star-spacing valid var foo = {*[ foo ](){} };
> ok 3269 generator-star-spacing valid function foo(){}
> ok 3270 generator-star-spacing valid function* foo(){}
> ok 3271 generator-star-spacing valid function* foo(arg1, arg2){}
> ok 3272 generator-star-spacing valid var foo = function* foo(){};
> ok 3273 generator-star-spacing valid var foo = function* (){};
> ok 3274 generator-star-spacing valid var foo = {* foo(){} };
> ok 3275 generator-star-spacing valid var foo = { * foo(){} };
> ok 3276 generator-star-spacing valid class Foo {* foo(){} }
> ok 3277 generator-star-spacing valid class Foo { * foo(){} }
> ok 3278 generator-star-spacing valid class Foo { static* foo(){} }
> ok 3279 generator-star-spacing valid var foo = {* [foo](){} };
> ok 3280 generator-star-spacing valid class Foo {* [foo](){} }
> ok 3281 generator-star-spacing valid function foo(){}
> ok 3282 generator-star-spacing valid function * foo(){}
> ok 3283 generator-star-spacing valid function * foo(arg1, arg2){}
> ok 3284 generator-star-spacing valid var foo = function * foo(){};
> ok 3285 generator-star-spacing valid var foo = function * (){};
> ok 3286 generator-star-spacing valid var foo = { * foo(){} };
> ok 3287 generator-star-spacing valid var foo = {* foo(){} };
> ok 3288 generator-star-spacing valid class Foo { * foo(){} }
> ok 3289 generator-star-spacing valid class Foo {* foo(){} }
> ok 3290 generator-star-spacing valid class Foo { static * foo(){} }
> ok 3291 generator-star-spacing valid var foo = {* [foo](){} };
> ok 3292 generator-star-spacing valid class Foo {* [foo](){} }
> ok 3293 generator-star-spacing valid function foo(){}
> ok 3294 generator-star-spacing valid function*foo(){}
> ok 3295 generator-star-spacing valid function*foo(arg1, arg2){}
> ok 3296 generator-star-spacing valid var foo = function*foo(){};
> ok 3297 generator-star-spacing valid var foo = function*(){};
> ok 3298 generator-star-spacing valid var foo = {*foo(){} };
> ok 3299 generator-star-spacing valid var foo = { *foo(){} };
> ok 3300 generator-star-spacing valid class Foo {*foo(){} }
> ok 3301 generator-star-spacing valid class Foo { *foo(){} }
> ok 3302 generator-star-spacing valid class Foo { static*foo(){} }
> ok 3303 generator-star-spacing valid var foo = {*[ foo ](){} };
> ok 3304 generator-star-spacing valid class Foo {*[ foo ](){} }
> ok 3305 generator-star-spacing valid function foo(){}
> ok 3306 generator-star-spacing valid function *foo(){}
> ok 3307 generator-star-spacing valid function *foo(arg1, arg2){}
> ok 3308 generator-star-spacing valid var foo = function *foo(){};
> ok 3309 generator-star-spacing valid var foo = function *(){};
> ok 3310 generator-star-spacing valid var foo = { *foo(){} };
> ok 3311 generator-star-spacing valid var foo = {*foo(){} };
> ok 3312 generator-star-spacing valid class Foo { *foo(){} }
> ok 3313 generator-star-spacing valid class Foo {*foo(){} }
> ok 3314 generator-star-spacing valid class Foo { static *foo(){} }
> ok 3315 generator-star-spacing valid function foo(){}
> ok 3316 generator-star-spacing valid function* foo(){}
> ok 3317 generator-star-spacing valid function* foo(arg1, arg2){}
> ok 3318 generator-star-spacing valid var foo = function* foo(){};
> ok 3319 generator-star-spacing valid var foo = function* (){};
> ok 3320 generator-star-spacing valid var foo = {* foo(){} };
> ok 3321 generator-star-spacing valid var foo = { * foo(){} };
> ok 3322 generator-star-spacing valid class Foo {* foo(){} }
> ok 3323 generator-star-spacing valid class Foo { * foo(){} }
> ok 3324 generator-star-spacing valid class Foo { static* foo(){} }
> ok 3325 generator-star-spacing valid function foo(){}
> ok 3326 generator-star-spacing valid function * foo(){}
> ok 3327 generator-star-spacing valid function * foo(arg1, arg2){}
> ok 3328 generator-star-spacing valid var foo = function * foo(){};
> ok 3329 generator-star-spacing valid var foo = function * (){};
> ok 3330 generator-star-spacing valid var foo = { * foo(){} };
> ok 3331 generator-star-spacing valid var foo = {* foo(){} };
> ok 3332 generator-star-spacing valid class Foo { * foo(){} }
> ok 3333 generator-star-spacing valid class Foo {* foo(){} }
> ok 3334 generator-star-spacing valid class Foo { static * foo(){} }
> ok 3335 generator-star-spacing valid function foo(){}
> ok 3336 generator-star-spacing valid function*foo(){}
> ok 3337 generator-star-spacing valid function*foo(arg1, arg2){}
> ok 3338 generator-star-spacing valid var foo = function*foo(){};
> ok 3339 generator-star-spacing valid var foo = function*(){};
> ok 3340 generator-star-spacing valid var foo = {*foo(){} };
> ok 3341 generator-star-spacing valid var foo = { *foo(){} };
> ok 3342 generator-star-spacing valid class Foo {*foo(){} }
> ok 3343 generator-star-spacing valid class Foo { *foo(){} }
> ok 3344 generator-star-spacing valid class Foo { static*foo(){} }
> ok 3345 generator-star-spacing valid function * foo(){}
> ok 3346 generator-star-spacing valid var foo = function * (){};
> ok 3347 generator-star-spacing valid class Foo { * foo(){} }
> ok 3348 generator-star-spacing valid var foo = { * foo(){} }
> ok 3349 generator-star-spacing valid var foo = { bar: function * () {} }
> ok 3350 generator-star-spacing valid class Foo { static * foo(){} }
> ok 3351 generator-star-spacing valid function *foo(){}
> ok 3352 generator-star-spacing valid function*foo(){}
> ok 3353 generator-star-spacing valid function * foo(){}
> ok 3354 generator-star-spacing valid function *foo(){}
> ok 3355 generator-star-spacing valid async function foo() { }
> ok 3356 generator-star-spacing valid (async function() { })
> ok 3357 generator-star-spacing valid async () => { }
> ok 3358 generator-star-spacing valid ({async foo() { }})
> ok 3359 generator-star-spacing valid class A {async foo() { }}
> ok 3360 generator-star-spacing valid (class {async foo() { }})
> ok 3361 generator-star-spacing invalid function*foo(){}
> ok 3362 generator-star-spacing invalid function* foo(arg1, arg2){}
> ok 3363 generator-star-spacing invalid var foo = function*foo(){};
> ok 3364 generator-star-spacing invalid var foo = function* (){};
> ok 3365 generator-star-spacing invalid var foo = {* foo(){} };
> ok 3366 generator-star-spacing invalid class Foo {* foo(){} }
> ok 3367 generator-star-spacing invalid class Foo { static* foo(){} }
> ok 3368 generator-star-spacing invalid function*foo(){}
> ok 3369 generator-star-spacing invalid function* foo(arg1, arg2){}
> ok 3370 generator-star-spacing invalid var foo = function*foo(){};
> ok 3371 generator-star-spacing invalid var foo = function* (){};
> ok 3372 generator-star-spacing invalid var foo = {* foo(){} };
> ok 3373 generator-star-spacing invalid class Foo {* foo(){} }
> ok 3374 generator-star-spacing invalid var foo = {* [ foo ](){} };
> ok 3375 generator-star-spacing invalid class Foo {* [ foo ](){} }
> ok 3376 generator-star-spacing invalid function*foo(){}
> ok 3377 generator-star-spacing invalid function *foo(arg1, arg2){}
> ok 3378 generator-star-spacing invalid var foo = function *foo(){};
> ok 3379 generator-star-spacing invalid var foo = function *(){};
> ok 3380 generator-star-spacing invalid var foo = { *foo(){} };
> ok 3381 generator-star-spacing invalid class Foo { *foo(){} }
> ok 3382 generator-star-spacing invalid class Foo { static *foo(){} }
> ok 3383 generator-star-spacing invalid var foo = { *[foo](){} };
> ok 3384 generator-star-spacing invalid class Foo { *[foo](){} }
> ok 3385 generator-star-spacing invalid function*foo(){}
> ok 3386 generator-star-spacing invalid function*foo(arg1, arg2){}
> ok 3387 generator-star-spacing invalid var foo = function*foo(){};
> ok 3388 generator-star-spacing invalid var foo = function*(){};
> ok 3389 generator-star-spacing invalid var foo = {*foo(){} };
> ok 3390 generator-star-spacing invalid class Foo {*foo(){} }
> ok 3391 generator-star-spacing invalid class Foo { static*foo(){} }
> ok 3392 generator-star-spacing invalid var foo = {*[foo](){} };
> ok 3393 generator-star-spacing invalid class Foo {*[foo](){} }
> ok 3394 generator-star-spacing invalid function * foo(){}
> ok 3395 generator-star-spacing invalid function * foo(arg1, arg2){}
> ok 3396 generator-star-spacing invalid var foo = function * foo(){};
> ok 3397 generator-star-spacing invalid var foo = function * (){};
> ok 3398 generator-star-spacing invalid var foo = { * foo(){} };
> ok 3399 generator-star-spacing invalid class Foo { * foo(){} }
> ok 3400 generator-star-spacing invalid class Foo { static * foo(){} }
> ok 3401 generator-star-spacing invalid var foo = { * [ foo ](){} };
> ok 3402 generator-star-spacing invalid class Foo { * [ foo ](){} }
> ok 3403 generator-star-spacing invalid function*foo(){}
> ok 3404 generator-star-spacing invalid function* foo(arg1, arg2){}
> ok 3405 generator-star-spacing invalid var foo = function*foo(){};
> ok 3406 generator-star-spacing invalid var foo = function* (){};
> ok 3407 generator-star-spacing invalid var foo = {* foo(){} };
> ok 3408 generator-star-spacing invalid class Foo {* foo(){} }
> ok 3409 generator-star-spacing invalid function*foo(){}
> ok 3410 generator-star-spacing invalid function *foo(arg1, arg2){}
> ok 3411 generator-star-spacing invalid var foo = function *foo(){};
> ok 3412 generator-star-spacing invalid var foo = function *(){};
> ok 3413 generator-star-spacing invalid var foo = { *foo(){} };
> ok 3414 generator-star-spacing invalid class Foo { *foo(){} }
> ok 3415 generator-star-spacing invalid class Foo { static *foo(){} }
> ok 3416 generator-star-spacing invalid function*foo(){}
> ok 3417 generator-star-spacing invalid function*foo(arg1, arg2){}
> ok 3418 generator-star-spacing invalid var foo = function*foo(){};
> ok 3419 generator-star-spacing invalid var foo = function*(){};
> ok 3420 generator-star-spacing invalid var foo = {*foo(){} };
> ok 3421 generator-star-spacing invalid class Foo {*foo(){} }
> ok 3422 generator-star-spacing invalid class Foo { static*foo(){} }
> ok 3423 generator-star-spacing invalid function * foo(){}
> ok 3424 generator-star-spacing invalid function * foo(arg1, arg2){}
> ok 3425 generator-star-spacing invalid var foo = function * foo(){};
> ok 3426 generator-star-spacing invalid var foo = function * (){};
> ok 3427 generator-star-spacing invalid var foo = { * foo(){} };
> ok 3428 generator-star-spacing invalid class Foo { * foo(){} }
> ok 3429 generator-star-spacing invalid class Foo { static * foo(){} }
> ok 3430 generator-star-spacing invalid function*foo(){}
> ok 3431 generator-star-spacing invalid var foo = function*(){};
> ok 3432 generator-star-spacing invalid class Foo { *foo(){} }
> ok 3433 generator-star-spacing invalid var foo = { *foo(){} }
> ok 3434 generator-star-spacing invalid var foo = { bar: function*() {} }
> ok 3435 generator-star-spacing invalid class Foo { static*foo(){} }
> ok 3436 generator-star-spacing invalid function*foo(){}
> ok 3437 generator-star-spacing invalid function * foo(){}
> ok 3438 generator-star-spacing invalid function*foo(){}
> ok 3439 generator-star-spacing invalid function*foo(){}
> ok 3440 generator-star-spacing invalid ({ async * foo(){} })
> ok 3441 generator-star-spacing invalid ({ async*foo(){} })
> ok 3442 generator-star-spacing invalid class Foo { async * foo(){} }
> ok 3443 generator-star-spacing invalid class Foo { async*foo(){} }
> ok 3444 generator-star-spacing invalid class Foo { static async * foo(){} }
> ok 3445 generator-star-spacing invalid class Foo { static async*foo(){} }
> ok 3446 getter-return valid var foo = { get bar(){return true;} };
> ok 3447 getter-return valid var foo = { get bar() {return;} };
> ok 3448 getter-return valid var foo = { get bar(){return true;} };
> ok 3449 getter-return valid var foo = { get bar(){if(bar) {return;} return true;} };
> ok 3450 getter-return valid class foo { get bar(){return true;} }
> ok 3451 getter-return valid class foo { get bar(){if(baz){return true;} else {return false;} } }
> ok 3452 getter-return valid class foo { get(){return true;} }
> ok 3453 getter-return valid class foo { get bar(){return true;} }
> ok 3454 getter-return valid class foo { get bar(){return;} }
> ok 3455 getter-return valid Object.defineProperty(foo, "bar", { get: function () {return true;}});
> ok 3456 getter-return valid Object.defineProperty(foo, "bar", { get: function () { ~function (){ return true; }();return true;}});
> ok 3457 getter-return valid Object.defineProperties(foo, { bar: { get: function () {return true;}} });
> ok 3458 getter-return valid Object.defineProperties(foo, { bar: { get: function () { ~function (){ return true; }(); return true;}} });
> ok 3459 getter-return valid Object.defineProperty(foo, "bar", { get: function () {return true;}});
> ok 3460 getter-return valid Object.defineProperty(foo, "bar", { get: function (){return;}});
> ok 3461 getter-return valid Object.defineProperties(foo, { bar: { get: function () {return true;}} });
> ok 3462 getter-return valid Object.defineProperties(foo, { bar: { get: function () {return;}} });
> ok 3463 getter-return valid var get = function(){};
> ok 3464 getter-return valid var get = function(){ return true; };
> ok 3465 getter-return valid var foo = { bar(){} };
> ok 3466 getter-return valid var foo = { bar(){ return true; } };
> ok 3467 getter-return valid var foo = { bar: function(){} };
> ok 3468 getter-return valid var foo = { bar: function(){return;} };
> ok 3469 getter-return valid var foo = { bar: function(){return true;} };
> ok 3470 getter-return valid var foo = { get: function () {} }
> ok 3471 getter-return valid var foo = { get: () => {}};
> ok 3472 getter-return invalid var foo = { get bar() {} };
> ok 3473 getter-return invalid var foo = { get bar(){if(baz) {return true;}} };
> ok 3474 getter-return invalid var foo = { get bar() { ~function () {return true;}} };
> ok 3475 getter-return invalid var foo = { get bar() {} };
> ok 3476 getter-return invalid var foo = { get bar() {if (baz) {return;}} };
> ok 3477 getter-return invalid class foo { get bar(){} }
> ok 3478 getter-return invalid class foo { get bar(){ if (baz) { return true; }}}
> ok 3479 getter-return invalid class foo { get bar(){ ~function () { return true; }()}}
> ok 3480 getter-return invalid class foo { get bar(){} }
> ok 3481 getter-return invalid class foo { get bar(){if (baz) {return true;} } }
> ok 3482 getter-return invalid Object.defineProperty(foo, "bar", { get: function (){}});
> ok 3483 getter-return invalid Object.defineProperty(foo, "bar", { get: () => {}});
> ok 3484 getter-return invalid Object.defineProperty(foo, "bar", { get: function (){if(bar) {return true;}}});
> ok 3485 getter-return invalid Object.defineProperty(foo, "bar", { get: function (){ ~function () { return true; }()}});
> ok 3486 getter-return invalid Object.defineProperties(foo, { bar: { get: function () {}} });
> ok 3487 getter-return invalid Object.defineProperties(foo, { bar: { get: function (){if(bar) {return true;}}}});
> ok 3488 getter-return invalid Object.defineProperties(foo, { bar: { get: function () {~function () { return true; }()}} });
> ok 3489 getter-return invalid Object.defineProperty(foo, "bar", { get: function (){}});
> ok 3490 global-require valid var x = require('y');
> ok 3491 global-require valid if (x) { x.require('y'); }
> ok 3492 global-require valid var x;
> x = require('y');
> ok 3493 global-require valid var x = 1, y = require('y');
> ok 3494 global-require valid var x = require('y'), y = require('y'), z = require('z');
> ok 3495 global-require valid var x = require('y').foo;
> ok 3496 global-require valid require('y').foo();
> ok 3497 global-require valid require('y');
> ok 3498 global-require valid function x(){}
> 
> 
> x();
> 
> 
> if (x > y) {
> 	doSomething()
> 
> }
> 
> var x = require('y').foo;
> ok 3499 global-require valid var logger = require(DEBUG ? 'dev-logger' : 'logger');
> ok 3500 global-require valid var logger = DEBUG ? require('dev-logger') : require('logger');
> ok 3501 global-require valid function localScopedRequire(require) { require('y'); }
> ok 3502 global-require valid var someFunc = require('./someFunc'); someFunc(function(require) { return('bananas'); });
> ok 3503 global-require invalid if (process.env.NODE_ENV === 'DEVELOPMENT') {
> 	require('debug');
> }
> ok 3504 global-require invalid var x; if (y) { x = require('debug'); }
> ok 3505 global-require invalid var x; if (y) { x = require('debug').baz; }
> ok 3506 global-require invalid function x() { require('y') }
> ok 3507 global-require invalid try { require('x'); } catch (e) { console.log(e); }
> ok 3508 global-require invalid var getModule = x => require(x);
> ok 3509 global-require invalid var x = (x => require(x))('weird')
> ok 3510 global-require invalid switch(x) { case '1': require('1'); break; }
> ok 3511 guard-for-in valid for (var x in o);
> ok 3512 guard-for-in valid for (var x in o) {}
> ok 3513 guard-for-in valid for (var x in o) if (x) f();
> ok 3514 guard-for-in valid for (var x in o) { if (x) { f(); } }
> ok 3515 guard-for-in valid for (var x in o) { if (x) continue; f(); }
> ok 3516 guard-for-in valid for (var x in o) { if (x) { continue; } f(); }
> ok 3517 guard-for-in invalid for (var x in o) { if (x) { f(); continue; } g(); }
> ok 3518 guard-for-in invalid for (var x in o) { if (x) { continue; f(); } g(); }
> ok 3519 guard-for-in invalid for (var x in o) { if (x) { f(); } g(); }
> ok 3520 guard-for-in invalid for (var x in o) { if (x) f(); g(); }
> ok 3521 guard-for-in invalid for (var x in o) { foo() }
> ok 3522 guard-for-in invalid for (var x in o) foo();
> ok 3523 handle-callback-err valid function test(error) {}
> ok 3524 handle-callback-err valid function test(err) {console.log(err);}
> ok 3525 handle-callback-err valid function test(err, data) {if(err){ data = 'ERROR';}}
> ok 3526 handle-callback-err valid var test = function(err) {console.log(err);};
> ok 3527 handle-callback-err valid var test = function(err) {if(err){/* do nothing */}};
> ok 3528 handle-callback-err valid var test = function(err) {if(!err){doSomethingHere();}else{};}
> ok 3529 handle-callback-err valid var test = function(err, data) {if(!err) { good(); } else { bad(); }}
> ok 3530 handle-callback-err valid try { } catch(err) {}
> ok 3531 handle-callback-err valid getData(function(err, data) {if (err) {}getMoreDataWith(data, function(err, moreData) {if (err) {}getEvenMoreDataWith(moreData, function(err, allOfTheThings) {if (err) {}});});});
> ok 3532 handle-callback-err valid var test = function(err) {if(! err){doSomethingHere();}};
> ok 3533 handle-callback-err valid function test(err, data) {if (data) {doSomething(function(err) {console.error(err);});} else if (err) {console.log(err);}}
> ok 3534 handle-callback-err valid function handler(err, data) {if (data) {doSomethingWith(data);} else if (err) {console.log(err);}}
> ok 3535 handle-callback-err valid function handler(err) {logThisAction(function(err) {if (err) {}}); console.log(err);}
> ok 3536 handle-callback-err valid function userHandler(err) {process.nextTick(function() {if (err) {}})}
> ok 3537 handle-callback-err valid function help() { function userHandler(err) {function tester() { err; process.nextTick(function() { err; }); } } }
> ok 3538 handle-callback-err valid function help(done) { var err = new Error('error'); done(); }
> ok 3539 handle-callback-err valid var test = err => err;
> ok 3540 handle-callback-err valid var test = err => !err;
> ok 3541 handle-callback-err valid var test = err => err.message;
> ok 3542 handle-callback-err valid var test = function(error) {if(error){/* do nothing */}};
> ok 3543 handle-callback-err valid var test = (error) => {if(error){/* do nothing */}};
> ok 3544 handle-callback-err valid var test = function(error) {if(! error){doSomethingHere();}};
> ok 3545 handle-callback-err valid var test = function(err) { console.log(err); };
> ok 3546 handle-callback-err valid var test = function(error) { console.log(error); };
> ok 3547 handle-callback-err valid var test = function(anyError) { console.log(anyError); };
> ok 3548 handle-callback-err valid var test = function(any_error) { console.log(anyError); };
> ok 3549 handle-callback-err valid var test = function(any_error) { console.log(any_error); };
> ok 3550 handle-callback-err invalid function test(err) {}
> ok 3551 handle-callback-err invalid function test(err, data) {}
> ok 3552 handle-callback-err invalid function test(err) {errorLookingWord();}
> ok 3553 handle-callback-err invalid function test(err) {try{} catch(err) {}}
> ok 3554 handle-callback-err invalid function test(err, callback) { foo(function(err, callback) {}); }
> ok 3555 handle-callback-err invalid var test = (err) => {};
> ok 3556 handle-callback-err invalid var test = function(err) {};
> ok 3557 handle-callback-err invalid var test = function test(err, data) {};
> ok 3558 handle-callback-err invalid var test = function test(err) {/* if(err){} */};
> ok 3559 handle-callback-err invalid function test(err) {doSomethingHere(function(err){console.log(err);})}
> ok 3560 handle-callback-err invalid function test(error) {}
> ok 3561 handle-callback-err invalid getData(function(err, data) {getMoreDataWith(data, function(err, moreData) {if (err) {}getEvenMoreDataWith(moreData, function(err, allOfTheThings) {if (err) {}});}); });
> ok 3562 handle-callback-err invalid getData(function(err, data) {getMoreDataWith(data, function(err, moreData) {getEvenMoreDataWith(moreData, function(err, allOfTheThings) {if (err) {}});}); });
> ok 3563 handle-callback-err invalid function userHandler(err) {logThisAction(function(err) {if (err) { console.log(err); } })}
> ok 3564 handle-callback-err invalid function help() { function userHandler(err) {function tester(err) { err; process.nextTick(function() { err; }); } } }
> ok 3565 handle-callback-err invalid var test = function(anyError) { console.log(otherError); };
> ok 3566 handle-callback-err invalid var test = function(anyError) { };
> ok 3567 handle-callback-err invalid var test = function(err) { console.log(error); };
> ok 3568 id-blacklist valid foo = "bar"
> ok 3569 id-blacklist valid bar = "bar"
> ok 3570 id-blacklist valid foo = "bar"
> ok 3571 id-blacklist valid function foo(){}
> ok 3572 id-blacklist valid foo()
> ok 3573 id-blacklist valid foo.bar()
> ok 3574 id-blacklist valid var foo = bar.baz;
> ok 3575 id-blacklist valid var foo = bar.baz.bing;
> ok 3576 id-blacklist valid foo.bar.baz = bing.bong.bash;
> ok 3577 id-blacklist valid if (foo.bar) {}
> ok 3578 id-blacklist valid var obj = { key: foo.bar };
> ok 3579 id-blacklist valid var arr = [foo.bar];
> ok 3580 id-blacklist valid [foo.bar]
> ok 3581 id-blacklist valid [foo.bar.nesting]
> ok 3582 id-blacklist valid if (foo.bar === bar.baz) { [foo.bar] }
> ok 3583 id-blacklist valid var myArray = new Array(); var myDate = new Date();
> ok 3584 id-blacklist valid foo()
> ok 3585 id-blacklist valid foo.bar()
> ok 3586 id-blacklist valid foo.bar
> ok 3587 id-blacklist invalid foo = "bar"
> ok 3588 id-blacklist invalid bar = "bar"
> ok 3589 id-blacklist invalid foo = "bar"
> ok 3590 id-blacklist invalid function foo(){}
> ok 3591 id-blacklist invalid foo.bar()
> ok 3592 id-blacklist invalid var foo = bar.baz;
> ok 3593 id-blacklist invalid var foo = bar.baz;
> ok 3594 id-blacklist invalid if (foo.bar) {}
> ok 3595 id-blacklist invalid var obj = { key: foo.bar };
> ok 3596 id-blacklist invalid var obj = { key: foo.bar };
> ok 3597 id-blacklist invalid var obj = { key: foo.bar };
> ok 3598 id-blacklist invalid var arr = [foo.bar];
> ok 3599 id-blacklist invalid var arr = [foo.bar];
> ok 3600 id-blacklist invalid [foo.bar]
> ok 3601 id-blacklist invalid if (foo.bar === bar.baz) { [bing.baz] }
> ok 3602 id-blacklist invalid if (foo.bar === bar.baz) { [foo.bar] }
> ok 3603 id-blacklist invalid var myArray = new Array(); var myDate = new Date();
> ok 3604 id-blacklist invalid var myArray = new Array(); var myDate = new Date();
> ok 3605 id-blacklist invalid foo.bar = 1
> ok 3606 id-blacklist invalid foo.bar.baz = 1
> ok 3607 implicit-arrow-linebreak valid (foo) => {
>             bar
>         }
> ok 3608 implicit-arrow-linebreak valid () => bar;
> ok 3609 implicit-arrow-linebreak valid () => (bar);
> ok 3610 implicit-arrow-linebreak valid () => bar => baz;
> ok 3611 implicit-arrow-linebreak valid () => ((((bar))));
> ok 3612 implicit-arrow-linebreak valid (foo) => (
>             bar
>         )
> ok 3613 implicit-arrow-linebreak valid (foo) => bar();
> ok 3614 implicit-arrow-linebreak valid 
>         //comment
>         foo => bar;
>         
> ok 3615 implicit-arrow-linebreak valid 
>         foo => (
>             // comment
>             bar => (
>                 // another comment
>                 baz
>             )
>         )
>         
> ok 3616 implicit-arrow-linebreak valid 
>         foo => (
>             // comment
>             bar => baz
>         )
>         
> ok 3617 implicit-arrow-linebreak valid 
>         /* text */
>         () => bar;
>         
> ok 3618 implicit-arrow-linebreak valid 
>         /* foo */
>         const bar = () => baz;
>         
> ok 3619 implicit-arrow-linebreak valid 
>         (foo) => (
>                 //comment
>                     bar
>                 )
>         
> ok 3620 implicit-arrow-linebreak valid 
>           [ // comment
>             foo => 'bar'
>           ]
>         
> ok 3621 implicit-arrow-linebreak valid 
>          /*
>          One two three four
>          Five six seven nine.
>          */
>          (foo) => bar
>         
> ok 3622 implicit-arrow-linebreak valid 
>         const foo = {
>           id: 'bar',
>           // comment
>           prop: (foo1) => 'returning this string',
>         }
>         
> ok 3623 implicit-arrow-linebreak valid 
>         // comment
>          "foo".split('').map((char) => char
>          )
>         
> ok 3624 implicit-arrow-linebreak valid 
>             async foo => () => bar;
>             
> ok 3625 implicit-arrow-linebreak valid 
>             // comment
>             async foo => 'string'
>             
> ok 3626 implicit-arrow-linebreak valid 
>                 (foo) =>
>                     (
>                         bar
>                     )
>             
> ok 3627 implicit-arrow-linebreak valid 
>                 () =>
>                     ((((bar))));
>             
> ok 3628 implicit-arrow-linebreak valid 
>                 () =>
>                     bar();
>             
> ok 3629 implicit-arrow-linebreak valid 
>                 () =>
>                     (bar);
>             
> ok 3630 implicit-arrow-linebreak valid 
>                 () =>
>                     bar =>
>                         baz;
>             
> ok 3631 implicit-arrow-linebreak invalid 
>                 (foo) =>
>                     bar();
>             
> ok 3632 implicit-arrow-linebreak invalid 
>                 () =>
>                     (bar);
>             
> ok 3633 implicit-arrow-linebreak invalid 
>                 () =>
>                     bar =>
>                         baz;
>             
> ok 3634 implicit-arrow-linebreak invalid 
>                 () =>
>                     ((((bar))));
>             
> ok 3635 implicit-arrow-linebreak invalid 
>                 (foo) =>
>                     (
>                         bar
>                     )
>             
> ok 3636 implicit-arrow-linebreak invalid (foo) =>
>   // test comment
>   bar
> ok 3637 implicit-arrow-linebreak invalid const foo = () =>
> // comment
> []
> ok 3638 implicit-arrow-linebreak invalid 
>                 (foo) =>
>                     (
>                     //comment
>                         bar
>                     )
>             
> ok 3639 implicit-arrow-linebreak invalid 
>                 (foo) =>
>                     (
>                         bar
>                     //comment
>                     )
> 
>             
> ok 3640 implicit-arrow-linebreak invalid (foo) =>
>  // comment
>  // another comment
>     bar
> ok 3641 implicit-arrow-linebreak invalid (foo) =>
> // comment
> (
> // another comment
> bar
> )
> ok 3642 implicit-arrow-linebreak invalid () => // comment 
>  bar
> ok 3643 implicit-arrow-linebreak invalid (foo) => //comment 
>  bar
> ok 3644 implicit-arrow-linebreak invalid (foo) =>
>   /* test comment */
>   bar
> ok 3645 implicit-arrow-linebreak invalid (foo) =>
>   // hi
>      bar =>
>        // there
>          baz;
> ok 3646 implicit-arrow-linebreak invalid (foo) =>
>   // hi
>      bar => (
>        // there
>          baz
>      )
> ok 3647 implicit-arrow-linebreak invalid const foo = {
>   id: 'bar',
>   prop: (foo1) =>
>     // comment
>     'returning this string',
> }
> ok 3648 implicit-arrow-linebreak invalid [ foo =>
>   // comment
>   'bar'
> ]
> ok 3649 implicit-arrow-linebreak invalid "foo".split('').map((char) =>
> // comment
> char
> )
> ok 3650 implicit-arrow-linebreak invalid new Promise((resolve, reject) =>
>     // comment
>     resolve()
> )
> ok 3651 implicit-arrow-linebreak invalid () =>
> /*
> succinct
> explanation
> of code
> */
> bar
> ok 3652 implicit-arrow-linebreak invalid stepOne =>
>     /*
>     here is
>     what is
>     happening
>     */
>     stepTwo =>
>         // then this happens
>         stepThree
> ok 3653 implicit-arrow-linebreak invalid () =>
>     /*
>     multi
>     line
>     */
>     bar =>
>         /*
>         many
>         lines
>         */
>         baz
> ok 3654 implicit-arrow-linebreak invalid foo('', boo =>
>   // comment
>   bar
> )
> ok 3655 implicit-arrow-linebreak invalid async foo =>
>     // comment
>     'string'
> ok 3656 implicit-arrow-linebreak invalid async foo =>
>     // comment
>     // another
>     bar;
> ok 3657 implicit-arrow-linebreak invalid async (foo) =>
>     // comment
>     'string'
> ok 3658 implicit-arrow-linebreak invalid const foo = 1,
>   bar = 2,
>   baz = () => // comment
>     qux
> ok 3659 implicit-arrow-linebreak invalid const foo = () =>
>   //comment
>   qux,
>   bar = 2,
>   baz = 3
> ok 3660 implicit-arrow-linebreak invalid const foo = () =>
>     //two
>     1,
>     boo = () =>
>     //comment
>     2,
>     bop = "what"
> ok 3661 implicit-arrow-linebreak invalid start()
>     .then(() =>
>         /* If I put a comment here, eslint --fix breaks badly */
>         process && typeof process.send === 'function' && process.send('ready')
>     )
>     .catch(err => {
>     /* catch seems to be needed here */
>     console.log('Error: ', err)
>     })
> ok 3662 implicit-arrow-linebreak invalid hello(response =>
>     // comment
>     response, param => param)
> ok 3663 implicit-arrow-linebreak invalid start(
>     arr =>
>         // cometh
>         bod => {
>             // soon
>             yyyy
>         }
> )
> ok 3664 implicit-arrow-linebreak invalid (foo) => bar();
> ok 3665 implicit-arrow-linebreak invalid (foo) => bar => baz;
> ok 3666 implicit-arrow-linebreak invalid (foo) => (bar);
> ok 3667 implicit-arrow-linebreak invalid (foo) => (((bar)));
> ok 3668 implicit-arrow-linebreak invalid 
>                 (foo) => (
>                     bar
>                 )
>             
> ok 3669 indent-legacy valid bridge.callHandler(
>   'getAppVersion', 'test23', function(responseData) {
>     window.ah.mobileAppVersion = responseData;
>   }
> );
> 
> ok 3670 indent-legacy valid var a = [
>   , /*{
>   }, */{
>     name: 'foo',
>   }
> ];
> 
> ok 3671 indent-legacy valid bridge.callHandler(
>   'getAppVersion', 'test23', function(responseData) {
>     window.ah.mobileAppVersion = responseData;
>   });
> 
> ok 3672 indent-legacy valid bridge.callHandler(
>   'getAppVersion',
>   null,
>   function responseCallback(responseData) {
>     window.ah.mobileAppVersion = responseData;
>   }
> );
> 
> ok 3673 indent-legacy valid bridge.callHandler(
>   'getAppVersion',
>   null,
>   function responseCallback(responseData) {
>     window.ah.mobileAppVersion = responseData;
>   });
> 
> ok 3674 indent-legacy valid function doStuff(keys) {
>     _.forEach(
>         keys,
>         key => {
>             doSomething(key);
>         }
>    );
> }
> 
> ok 3675 indent-legacy valid example(
>     function () {
>         console.log('example');
>     }
> );
> 
> ok 3676 indent-legacy valid let foo = somethingList
>     .filter(x => {
>         return x;
>     })
>     .map(x => {
>         return 100 * x;
>     });
> 
> ok 3677 indent-legacy valid var x = 0 &&
>     {
>         a: 1,
>         b: 2
>     };
> ok 3678 indent-legacy valid var x = 0 &&
> 	{
> 		a: 1,
> 		b: 2
> 	};
> ok 3679 indent-legacy valid var x = 0 &&
>     {
>         a: 1,
>         b: 2
>     }||
>     {
>         c: 3,
>         d: 4
>     };
> ok 3680 indent-legacy valid var x = [
>     'a',
>     'b',
>     'c'
> ];
> ok 3681 indent-legacy valid var x = ['a',
>     'b',
>     'c',
> ];
> ok 3682 indent-legacy valid var x = 0 && 1;
> ok 3683 indent-legacy valid var x = 0 && { a: 1, b: 2 };
> ok 3684 indent-legacy valid var x = 0 &&
>     (
>         1
>     );
> ok 3685 indent-legacy valid require('http').request({hostname: 'localhost',
>   port: 80}, function(res) {
>   res.end();
> });
> 
> ok 3686 indent-legacy valid function test() {
>   return client.signUp(email, PASSWORD, { preVerified: true })
>     .then(function (result) {
>       // hi
>     })
>     .then(function () {
>       return FunctionalHelpers.clearBrowserState(self, {
>         contentServer: true,
>         contentServer1: true
>       });
>     });
> }
> ok 3687 indent-legacy valid it('should... some lengthy test description that is forced to be' +
>   'wrapped into two lines since the line length limit is set', () => {
>   expect(true).toBe(true);
> });
> 
> ok 3688 indent-legacy valid function test() {
>     return client.signUp(email, PASSWORD, { preVerified: true })
>         .then(function (result) {
>             var x = 1;
>             var y = 1;
>         }, function(err){
>             var o = 1 - 2;
>             var y = 1 - 2;
>             return true;
>         })
> }
> ok 3689 indent-legacy valid function test() {
>     return client.signUp(email, PASSWORD, { preVerified: true })
>     .then(function (result) {
>         var x = 1;
>         var y = 1;
>     }, function(err){
>         var o = 1 - 2;
>         var y = 1 - 2;
>         return true;
>     });
> }
> ok 3690 indent-legacy valid // hi
> ok 3691 indent-legacy valid var Command = function() {
>   var fileList = [],
>       files = []
> 
>   files.concat(fileList)
> };
> 
> ok 3692 indent-legacy valid   
> ok 3693 indent-legacy valid if(data) {
>   console.log('hi');
>   b = true;};
> ok 3694 indent-legacy valid foo = () => {
>   console.log('hi');
>   return true;};
> ok 3695 indent-legacy valid function test(data) {
>   console.log('hi');
>   return true;};
> ok 3696 indent-legacy valid var test = function(data) {
>   console.log('hi');
> };
> ok 3697 indent-legacy valid arr.forEach(function(data) {
>   otherdata.forEach(function(zero) {
>     console.log('hi');
>   }) });
> ok 3698 indent-legacy valid a = [
>     ,3
> ]
> ok 3699 indent-legacy valid [
>   ['gzip', 'gunzip'],
>   ['gzip', 'unzip'],
>   ['deflate', 'inflate'],
>   ['deflateRaw', 'inflateRaw'],
> ].forEach(function(method) {
>   console.log(method);
> });
> 
> ok 3700 indent-legacy valid test(123, {
>     bye: {
>         hi: [1,
>             {
>                 b: 2
>             }
>         ]
>     }
> });
> ok 3701 indent-legacy valid var xyz = 2,
>     lmn = [
>         {
>             a: 1
>         }
>     ];
> ok 3702 indent-legacy valid lmn = [{
>     a: 1
> },
> {
>     b: 2
> },{
>     x: 2
> }];
> ok 3703 indent-legacy valid abc({
>     test: [
>         [
>             c,
>             xyz,
>             2
>         ].join(',')
>     ]
> });
> ok 3704 indent-legacy valid abc = {
>   test: [
>     [
>       c,
>       xyz,
>       2
>     ]
>   ]
> };
> ok 3705 indent-legacy valid abc(
>   {
>     a: 1,
>     b: 2
>   }
> );
> ok 3706 indent-legacy valid abc({
>     a: 1,
>     b: 2
> });
> ok 3707 indent-legacy valid var abc = 
>   [
>     c,
>     xyz,
>     {
>       a: 1,
>       b: 2
>     }
>   ];
> ok 3708 indent-legacy valid var abc = [
>   c,
>   xyz,
>   {
>     a: 1,
>     b: 2
>   }
> ];
> ok 3709 indent-legacy valid var abc = 5,
>     c = 2,
>     xyz = 
>     {
>       a: 1,
>       b: 2
>     };
> ok 3710 indent-legacy valid var abc = 
>     {
>       a: 1,
>       b: 2
>     };
> ok 3711 indent-legacy valid var a = new abc({
>         a: 1,
>         b: 2
>     }),
>     b = 2;
> ok 3712 indent-legacy valid var a = 2,
>   c = {
>     a: 1,
>     b: 2
>   },
>   b = 2;
> ok 3713 indent-legacy valid var x = 2,
>     y = {
>       a: 1,
>       b: 2
>     },
>     b = 2;
> ok 3714 indent-legacy valid var e = {
>       a: 1,
>       b: 2
>     },
>     b = 2;
> ok 3715 indent-legacy valid var a = {
>   a: 1,
>   b: 2
> };
> ok 3716 indent-legacy valid function test() {
>   if (true ||
>              false){
>     console.log(val);
>   }
> }
> ok 3717 indent-legacy valid for (var val in obj)
>   if (true)
>     console.log(val);
> ok 3718 indent-legacy valid if(true)
>   if (true)
>     if (true)
>       console.log(val);
> ok 3719 indent-legacy valid function hi(){     var a = 1;
>   y++;                   x++;
> }
> ok 3720 indent-legacy valid for(;length > index; index++)if(NO_HOLES || index in self){
>   x++;
> }
> ok 3721 indent-legacy valid function test(){
>   switch(length){
>     case 1: return function(a){
>       return fn.call(that, a);
>     };
>   }
> }
> ok 3722 indent-legacy valid var geometry = 2,
> rotate = 2;
> ok 3723 indent-legacy valid var geometry,
>     rotate;
> ok 3724 indent-legacy valid var geometry,
> 	rotate;
> ok 3725 indent-legacy valid var geometry,
>   rotate;
> ok 3726 indent-legacy valid var geometry,
>     rotate;
> ok 3727 indent-legacy valid let geometry,
>     rotate;
> ok 3728 indent-legacy valid const geometry = 2,
>     rotate = 3;
> ok 3729 indent-legacy valid var geometry, box, face1, face2, colorT, colorB, sprite, padding, maxWidth,
>   height, rotate;
> ok 3730 indent-legacy valid var geometry, box, face1, face2, colorT, colorB, sprite, padding, maxWidth;
> ok 3731 indent-legacy valid if (1 < 2){
> //hi sd 
> }
> ok 3732 indent-legacy valid while (1 < 2){
>   //hi sd 
> }
> ok 3733 indent-legacy valid while (1 < 2) console.log('hi');
> ok 3734 indent-legacy valid [a, b,
>     c].forEach((index) => {
>         index;
>     });
> 
> ok 3735 indent-legacy valid [a, b, c].forEach((index) => {
>     index;
> });
> 
> ok 3736 indent-legacy valid [a, b, c].forEach(function(index){
>     return index;
> });
> 
> ok 3737 indent-legacy valid switch (x) {
>     case "foo":
>         a();
>         break;
>     case "bar":
>         switch (y) {
>             case "1":
>                 break;
>             case "2":
>                 a = 6;
>                 break;
>         }
>     case "test":
>         break;
> }
> ok 3738 indent-legacy valid switch (x) {
>         case "foo":
>             a();
>             break;
>         case "bar":
>             switch (y) {
>                     case "1":
>                         break;
>                     case "2":
>                         a = 6;
>                         break;
>             }
>         case "test":
>             break;
> }
> ok 3739 indent-legacy valid switch (a) {
> case "foo":
>     a();
>     break;
> case "bar":
>     switch(x){
>     case '1':
>         break;
>     case '2':
>         a = 6;
>         break;
>     }
> }
> ok 3740 indent-legacy valid switch (a) {
> case "foo":
>     a();
>     break;
> case "bar":
>     if(x){
>         a = 2;
>     }
>     else{
>         a = 6;
>     }
> }
> ok 3741 indent-legacy valid switch (a) {
> case "foo":
>     a();
>     break;
> case "bar":
>     if(x){
>         a = 2;
>     }
>     else
>         a = 6;
> }
> ok 3742 indent-legacy valid switch (a) {
> case "foo":
>     a();
>     break;
> case "bar":
>     a(); break;
> case "baz":
>     a(); break;
> }
> ok 3743 indent-legacy valid switch (0) {
> }
> ok 3744 indent-legacy valid function foo() {
>     var a = "a";
>     switch(a) {
>     case "a":
>         return "A";
>     case "b":
>         return "B";
>     }
> }
> foo();
> ok 3745 indent-legacy valid switch(value){
>     case "1":
>     case "2":
>         a();
>         break;
>     default:
>         a();
>         break;
> }
> switch(value){
>     case "1":
>         a();
>         break;
>     case "2":
>         break;
>     default:
>         break;
> }
> ok 3746 indent-legacy valid var obj = {foo: 1, bar: 2};
> with (obj) {
>     console.log(foo + bar);
> }
> 
> ok 3747 indent-legacy valid if (a) {
>     (1 + 2 + 3);
> }
> ok 3748 indent-legacy valid switch(value){ default: a(); break; }
> 
> ok 3749 indent-legacy valid import {addons} from 'react/addons'
> import React from 'react'
> ok 3750 indent-legacy valid var a = 1,
>     b = 2,
>     c = 3;
> 
> ok 3751 indent-legacy valid var a = 1
>    ,b = 2
>    ,c = 3;
> 
> ok 3752 indent-legacy valid while (1 < 2) console.log('hi')
> 
> ok 3753 indent-legacy valid function salutation () {
>   switch (1) {
>     case 0: return console.log('hi')
>     case 1: return console.log('hey')
>   }
> }
> 
> ok 3754 indent-legacy valid var items = [
>   {
>     foo: 'bar'
>   }
> ];
> 
> ok 3755 indent-legacy valid const a = 1,
>       b = 2;
> const items1 = [
>   {
>     foo: 'bar'
>   }
> ];
> const items2 = Items(
>   {
>     foo: 'bar'
>   }
> );
> 
> ok 3756 indent-legacy valid const geometry = 2,
>       rotate = 3;
> var a = 1,
>   b = 2;
> let light = true,
>     shadow = false;
> ok 3757 indent-legacy valid const abc = 5,
>       c = 2,
>       xyz = 
>       {
>         a: 1,
>         b: 2
>       };
> let abc2 = 5,
>   c2 = 2,
>   xyz2 = 
>   {
>     a: 1,
>     b: 2
>   };
> var abc3 = 5,
>     c3 = 2,
>     xyz3 = 
>     {
>       a: 1,
>       b: 2
>     };
> 
> ok 3758 indent-legacy valid module.exports =
> {
>   'Unit tests':
>   {
>     rootPath: './',
>     environment: 'node',
>     tests:
>     [
>       'test/test-*.js'
>     ],
>     sources:
>     [
>       '*.js',
>       'test/**.js'
>     ]
>   }
> };
> ok 3759 indent-legacy valid var path     = require('path')
>   , crypto    = require('crypto')
>   ;
> 
> ok 3760 indent-legacy valid var a = 1
>    ,b = 2
>    ;
> ok 3761 indent-legacy valid export function create (some,
>                         argument) {
>   return Object.create({
>     a: some,
>     b: argument
>   });
> };
> ok 3762 indent-legacy valid export function create (id, xfilter, rawType,
>                         width=defaultWidth, height=defaultHeight,
>                         footerHeight=defaultFooterHeight,
>                         padding=defaultPadding) {
>   // ... function body, indented two spaces
> }
> 
> ok 3763 indent-legacy valid var obj = {
>   foo: function () {
>     return new p()
>       .then(function (ok) {
>         return ok;
>       }, function () {
>         // ignore things
>       });
>   }
> };
> 
> ok 3764 indent-legacy valid a.b()
>   .c(function(){
>     var a;
>   }).d.e;
> 
> ok 3765 indent-legacy valid const YO = 'bah',
>       TE = 'mah'
> 
> var res,
>     a = 5,
>     b = 4
> 
> ok 3766 indent-legacy valid const YO = 'bah',
>       TE = 'mah'
> 
> var res,
>     a = 5,
>     b = 4
> 
> if (YO) console.log(TE)
> ok 3767 indent-legacy valid var foo = 'foo',
>   bar = 'bar',
>   baz = function() {
>       
>   }
> 
> function hello () {
>     
> }
> 
> ok 3768 indent-legacy valid var obj = {
>   send: function () {
>     return P.resolve({
>       type: 'POST'
>     })
>       .then(function () {
>         return true;
>       }, function () {
>         return false;
>       });
>   }
> };
> 
> ok 3769 indent-legacy valid var obj = {
>   send: function () {
>     return P.resolve({
>       type: 'POST'
>     })
>     .then(function () {
>       return true;
>     }, function () {
>       return false;
>     });
>   }
> };
> 
> ok 3770 indent-legacy valid const someOtherFunction = argument => {
>         console.log(argument);
>     },
>     someOtherValue = 'someOtherValue';
> 
> ok 3771 indent-legacy valid [
>   'a',
>   'b'
> ].sort().should.deepEqual([
>   'x',
>   'y'
> ]);
> 
> ok 3772 indent-legacy valid var a = 1,
>     B = class {
>       constructor(){}
>       a(){}
>       get b(){}
>     };
> ok 3773 indent-legacy valid var a = 1,
>     B = 
>     class {
>       constructor(){}
>       a(){}
>       get b(){}
>     },
>     c = 3;
> ok 3774 indent-legacy valid class A{
>     constructor(){}
>     a(){}
>     get b(){}
> }
> ok 3775 indent-legacy valid var A = class {
>     constructor(){}
>     a(){}
>     get b(){}
> }
> ok 3776 indent-legacy valid var a = {
>   some: 1
> , name: 2
> };
> 
> ok 3777 indent-legacy valid a.c = {
>     aa: function() {
>         'test1';
>         return 'aa';
>     }
>     , bb: function() {
>         return this.bb();
>     }
> };
> 
> ok 3778 indent-legacy valid var a =
> {
>     actions:
>     [
>         {
>             name: 'compile'
>         }
>     ]
> };
> 
> ok 3779 indent-legacy valid var a =
> [
>     {
>         name: 'compile'
>     }
> ];
> 
> ok 3780 indent-legacy valid const func = function (opts) {
>     return Promise.resolve()
>     .then(() => {
>         [
>             'ONE', 'TWO'
>         ].forEach(command => { doSomething(); });
>     });
> };
> ok 3781 indent-legacy valid const func = function (opts) {
>     return Promise.resolve()
>         .then(() => {
>             [
>                 'ONE', 'TWO'
>             ].forEach(command => { doSomething(); });
>         });
> };
> ok 3782 indent-legacy valid var haveFun = function () {
>     SillyFunction(
>         {
>             value: true,
>         },
>         {
>             _id: true,
>         }
>     );
> };
> ok 3783 indent-legacy valid var haveFun = function () {
>     new SillyFunction(
>         {
>             value: true,
>         },
>         {
>             _id: true,
>         }
>     );
> };
> ok 3784 indent-legacy valid let object1 = {
>   doThing() {
>     return _.chain([])
>       .map(v => (
>         {
>           value: true,
>         }
>       ))
>       .value();
>   }
> };
> ok 3785 indent-legacy valid class Foo
>   extends Bar {
>   baz() {}
> }
> ok 3786 indent-legacy valid class Foo extends
>   Bar {
>   baz() {}
> }
> ok 3787 indent-legacy valid fs.readdirSync(path.join(__dirname, '../rules')).forEach(name => {
>   files[name] = foo;
> });
> ok 3788 indent-legacy valid (function(){
> function foo(x) {
>   return x + 1;
> }
> })();
> ok 3789 indent-legacy valid (function(){
>         function foo(x) {
>             return x + 1;
>         }
> })();
> ok 3790 indent-legacy valid (function(x, y){
> function foo(x) {
>   return x + 1;
> }
> })(1, 2);
> ok 3791 indent-legacy valid (function(){
> function foo(x) {
>   return x + 1;
> }
> }());
> ok 3792 indent-legacy valid !function(){
> function foo(x) {
>   return x + 1;
> }
> }();
> ok 3793 indent-legacy valid !function(){
> 			function foo(x) {
> 				return x + 1;
> 			}
> }();
> ok 3794 indent-legacy valid var out = function(){
>   function fooVar(x) {
>     return x + 1;
>   }
> };
> ok 3795 indent-legacy valid var ns = function(){
> function fooVar(x) {
>   return x + 1;
> }
> }();
> ok 3796 indent-legacy valid ns = function(){
> function fooVar(x) {
>   return x + 1;
> }
> }();
> ok 3797 indent-legacy valid var ns = (function(){
> function fooVar(x) {
>   return x + 1;
> }
> }(x));
> ok 3798 indent-legacy valid var ns = (function(){
>         function fooVar(x) {
>             return x + 1;
>         }
> }(x));
> ok 3799 indent-legacy valid var obj = {
>   foo: function() {
>     return true;
>   }
> };
> ok 3800 indent-legacy valid while (
>   function() {
>     return true;
>   }()) {
> 
>   x = x + 1;
> };
> ok 3801 indent-legacy valid (() => {
> function foo(x) {
>   return x + 1;
> }
> })();
> ok 3802 indent-legacy valid function foo() {
> }
> ok 3803 indent-legacy valid ;(() => {
> function foo(x) {
>   return x + 1;
> }
> })();
> ok 3804 indent-legacy valid if(data) {
>   console.log('hi');
> }
> ok 3805 indent-legacy valid Buffer.length
> ok 3806 indent-legacy valid Buffer
>     .indexOf('a')
>     .toString()
> ok 3807 indent-legacy valid Buffer.
>     length
> ok 3808 indent-legacy valid Buffer
>     .foo
>     .bar
> ok 3809 indent-legacy valid Buffer
> 	.foo
> 	.bar
> ok 3810 indent-legacy valid Buffer
>     .foo
>     .bar
> ok 3811 indent-legacy valid MemberExpression
> .is  .off    .by .default();
> ok 3812 indent-legacy valid foo = bar.baz()
>         .bip();
> ok 3813 indent-legacy valid if (foo) {
>   bar();
> } else if (baz) {
>   foobar();
> } else if (qux) {
>   qux();
> }
> ok 3814 indent-legacy valid function foo(aaa,
>   bbb, ccc, ddd) {
>     bar();
> }
> ok 3815 indent-legacy valid function foo(aaa, bbb,
>       ccc, ddd) {
>   bar();
> }
> ok 3816 indent-legacy valid function foo(aaa,
>     bbb,
>     ccc) {
>             bar();
> }
> ok 3817 indent-legacy valid function foo(aaa,
>              bbb, ccc,
>              ddd, eee, fff) {
>   bar();
> }
> ok 3818 indent-legacy valid function foo(aaa, bbb)
> {
>       bar();
> }
> ok 3819 indent-legacy valid function foo(
>   aaa,
>   bbb) {
>     bar();
> }
> ok 3820 indent-legacy valid var foo = function(aaa,
>     bbb,
>     ccc,
>     ddd) {
> bar();
> }
> ok 3821 indent-legacy valid var foo = function(aaa,
>   bbb,
>   ccc) {
>                     bar();
> }
> ok 3822 indent-legacy valid var foo = function(aaa,
>                    bbb, ccc, ddd,
>                    eee, fff) {
>     bar();
> }
> ok 3823 indent-legacy valid var foo = function(
>   aaa, bbb, ccc,
>   ddd, eee) {
>       bar();
> }
> ok 3824 indent-legacy valid function foo() {
>   bar();
>   	baz();
> 	   			  			  	   	qux();
> }
> ok 3825 indent-legacy valid function foo() {
>   function bar() {
>     baz();
>   }
> }
> ok 3826 indent-legacy valid function foo() {
>   bar();
>    		}
> ok 3827 indent-legacy valid function foo() {
>   function bar(baz,
>       qux) {
>     foobar();
>   }
> }
> ok 3828 indent-legacy valid function foo() {
>   var bar = function(baz,
>         qux) {
>     foobar();
>   };
> }
> ok 3829 indent-legacy valid function foo() {
>   return (bar === 1 || bar === 2 &&
>     (/Function/.test(grandparent.type))) &&
>     directives(parent).indexOf(node) >= 0;
> }
> ok 3830 indent-legacy valid function foo() {
>   return (bar === 1 || bar === 2) &&
>     (z === 3 || z === 4);
> }
> ok 3831 indent-legacy valid function foo() {
>   return ((bar === 1 || bar === 2) &&
>     (z === 3 || z === 4)
>   );
> }
> ok 3832 indent-legacy valid function foo() {
>   return ((bar === 1 || bar === 2) &&
>     (z === 3 || z === 4));
> }
> ok 3833 indent-legacy valid foo(
>   bar,
>   baz,
>   qux
> );
> ok 3834 indent-legacy valid foo(
> 	bar,
> 	baz,
> 	qux
> );
> ok 3835 indent-legacy valid foo(bar,
>         baz,
>         qux);
> ok 3836 indent-legacy valid foo(
> bar,
> baz,
> qux
> );
> ok 3837 indent-legacy valid foo(bar,
>     baz,
>     qux
> );
> ok 3838 indent-legacy valid foo(bar, baz,
>     qux, barbaz,
>     barqux, bazqux);
> ok 3839 indent-legacy valid foo(
>                         bar, baz,
>                         qux);
> ok 3840 indent-legacy valid foo(bar,
>         1 + 2,
>         !baz,
>         new Car('!')
> );
> ok 3841 indent-legacy valid var foo = function() {
>   return bar(
>     [{
>     }].concat(baz)
>   );
> };
> ok 3842 indent-legacy valid return (
>     foo
> );
> ok 3843 indent-legacy valid return (
>     foo
> )
> ok 3844 indent-legacy valid var foo = [
>     bar,
>     baz
> ]
> ok 3845 indent-legacy valid var foo = [bar,
>     baz,
>     qux
> ]
> ok 3846 indent-legacy valid var foo = [bar,
> baz,
> qux
> ]
> ok 3847 indent-legacy valid var foo = [bar,
>                 baz,
>                 qux
> ]
> ok 3848 indent-legacy valid var foo = [bar,
>            baz,
>            qux
> ]
> ok 3849 indent-legacy valid var foo = [bar,
>            baz, qux
> ]
> ok 3850 indent-legacy valid var foo = [
>         { bar: 1,
>           baz: 2 },
>         { bar: 3,
>           qux: 4 }
> ]
> ok 3851 indent-legacy valid var foo = {
> bar: 1,
> baz: 2
> };
> ok 3852 indent-legacy valid var foo = { foo: 1, bar: 2,
>             baz: 3 }
> ok 3853 indent-legacy valid var foo = [
>         {
>             foo: 1
>         }
> ]
> ok 3854 indent-legacy valid function foo() {
>   [
>           foo
>   ]
> }
> ok 3855 indent-legacy valid [
> ]
> ok 3856 indent-legacy valid [
> ]
> ok 3857 indent-legacy valid {
> }
> ok 3858 indent-legacy valid {
> }
> ok 3859 indent-legacy valid var foo = [
>   [
>     1
>   ]
> ]
> ok 3860 indent-legacy valid var foo = [ 1,
>             [
>               2
>             ]
> ];
> ok 3861 indent-legacy valid var foo = bar(1,
>               [ 2,
>                 3
>               ]
> );
> ok 3862 indent-legacy valid var foo =
>     [
>     ]()
> ok 3863 indent-legacy valid const lambda = foo => {
>   Object.assign({},
>     filterName,
>     {
>       display
>     }
>   );}
> ok 3864 indent-legacy valid const lambda = foo => {
>   Object.assign({},
>     filterName,
>     {
>       display
>     }
>   );}
> ok 3865 indent-legacy valid var foo = function() {
> 	window.foo('foo',
> 		{
> 			foo: 'bar',			bar: {
> 				foo: 'bar'
> 			}
> 		}
> 	);
> }
> ok 3866 indent-legacy valid echo = spawn('cmd.exe',
>              ['foo', 'bar',
>               'baz']);
> ok 3867 indent-legacy invalid var a = b;
> if (a) {
> b();
> }
> 
> ok 3868 indent-legacy invalid require('http').request({hostname: 'localhost',
>                   port: 80}, function(res) {
>   res.end();
> });
> 
> ok 3869 indent-legacy invalid if (array.some(function(){
>   return true;
> })) {
> a++; // ->
>   b++;
>     c++; // <-
> }
> 
> ok 3870 indent-legacy invalid if (a){
> 	b=c;
> 		c=d;
> e=f;
> }
> ok 3871 indent-legacy invalid if (a){
>     b=c;
>       c=d;
>  e=f;
> }
> ok 3872 indent-legacy invalid if (a) {
>   var b = c;
>   var d = e
>     * f;
>     var e = f; // <-
> // NO ERROR: DON'T VALIDATE EMPTY OR COMMENT ONLY LINES
>   function g() {
>     if (h) {
>       var i = j;
>       } // <-
>     } // <-
> 
>   while (k) l++;
>   while (m) {
>   n--; // ->
>     } // <-
> 
>   do {
>     o = p +
>   q; // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
>     o = p +
>     q;
>     } while(r); // <-
> 
>   for (var s in t) {
>     u++;
>   }
> 
>     for (;;) { // <- Fix this when issue 3737 gets resolved
>       v++; // <-
>   }
> 
>   if ( w ) {
>     x++;
>   } else if (y) {
>       z++; // <-
>     aa++;
>     } else { // <-
>   bb++; // ->
> } // ->
> }
> 
> /**/var b; // NO ERROR: single line multi-line comments followed by code is OK
> /*
>  *
>  */ var b; // ERROR: multi-line comments followed by code is not OK
> 
> var arr = [
>   a,
>   b,
>   c,
>   function (){
>     d
>     }, // <-
>   {},
>   {
>     a: b,
>     c: d,
>     d: e
>   },
>   [
>     f,
>     g,
>     h,
>     i
>   ],
>   [j]
> ];
> 
> var obj = {
>   a: {
>     b: {
>       c: d,
>       e: f,
>       g: h +
>     i // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
>     }
>   },
>   g: [
>     h,
>     i,
>     j,
>     k
>   ]
> };
> 
> var arrObject = {a:[
>   a,
>   b, // NO ERROR: INDENT ONCE WHEN MULTIPLE INDENTED EXPRESSIONS ARE ON SAME LINE
>   c
> ]};
> 
> var objArray = [{
>   a: b,
>   b: c, // NO ERROR: INDENT ONCE WHEN MULTIPLE INDENTED EXPRESSIONS ARE ON SAME LINE
>   c: d
> }];
> 
> var arrArray = [[
>   a,
>   b, // NO ERROR: INDENT ONCE WHEN MULTIPLE INDENTED EXPRESSIONS ARE ON SAME LINE
>   c
> ]];
> 
> var objObject = {a:{
>   a: b,
>   b: c, // NO ERROR: INDENT ONCE WHEN MULTIPLE INDENTED EXPRESSIONS ARE ON SAME LINE
>   c: d
> }};
> 
> 
> switch (a) {
>   case 'a':
>   var a = 'b'; // ->
>     break;
>   case 'b':
>     var a = 'b';
>     break;
>   case 'c':
>       var a = 'b'; // <-
>     break;
>   case 'd':
>     var a = 'b';
>   break; // ->
>   case 'f':
>     var a = 'b';
>     break;
>   case 'g':     {
>     var a = 'b';
>     break;
>   }
>   case 'z':
>   default:
>       break; // <-
> }
> 
> a.b('hi')
>    .c(a.b()) // <-
>    .d(); // <-
> 
> if ( a ) {
>   if ( b ) {
> d.e(f) // ->
>   .g() // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
>   .h(); // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
> 
>     i.j(m)
>       .k() // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
>       .l(); // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
> 
>       n.o(p) // <-
>         .q() // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
>         .r(); // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
>   }
> }
> 
> var a = b,
>   c = function () {
>   h = i; // ->
>     j = k;
>       l = m; // <-
>   },
>   e = {
>     f: g,
>     n: o,
>     p: q
>   },
>   r = [
>     s,
>     t,
>     u
>   ];
> 
> var a = function () {
> b = c; // ->
>   d = e;
>     f = g; // <-
> };
> 
> function c(a, b) {
>   if (a || (a &&
>             b)) { // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
>     return d;
>   }
> }
> 
> if ( a
>   || b ) {
> var x; // ->
>   var c,
>     d = function(a,
>                   b) {
>     a; // ->
>       b;
>         c; // <-
>     }
> }
> 
> 
> a({
>   d: 1
> });
> 
> a(
> 1
> );
> 
> a(
>   b({
>     d: 1
>   })
> );
> 
> a(
>   b(
>     c({
>       d: 1,
>       e: 1,
>       f: 1
>     })
>   )
> );
> 
> a({ d: 1 });
> 
> aa(
>    b({ // NO ERROR: aligned with previous opening paren
>      c: d,
>      e: f,
>      f: g
>    })
> );
> 
> aaaaaa(
>   b,
>   c,
>   {
>     d: a
>   }
> );
> 
> a(b, c,
>   d, e,
>     f, g  // NO ERROR: alignment of arguments of callExpression not checked
>   );  // NO ERROR: this has nothing to do with indentation, this is CallExpression spacing
> 
> a(
>   ); // NO ERROR: this has nothing to do with indentation, this is CallExpression spacing
> 
> aaaaaa(
>   b,
>   c, {
>     d: a
>   }, {
>     e: f
>   }
> );
> 
> a.b()
>   .c(function(){
>     var a;
>   }).d.e;
> 
> if (a == 'b') {
>   if (c && d) e = f
>   else g('h').i('j')
> }
> 
> a = function (b, c) {
>   return a(function () {
>     var d = e
>     var f = g
>     var h = i
> 
>     if (!j) k('l', (m = n))
>     if (o) p
>     else if (q) r
>   })
> }
> 
> var a = function() {
>   "b"
>     .replace(/a/, "a")
>     .replace(/bc?/, function(e) {
>       return "b" + (e.f === 2 ? "c" : "f");
>     })
>     .replace(/d/, "d");
> };
> 
> $(b)
>   .on('a', 'b', function() { $(c).e('f'); })
>   .on('g', 'h', function() { $(i).j('k'); });
> 
> a
>   .b('c',
>            'd'); // NO ERROR: this has nothing to do with indentation, this is CallExpression spacing
> 
> a
>   .b('c', [ 'd', function(e) {
>     e++;
>   }]);
> 
> var a = function() {
>       a++;
>     b++; // <-
>         c++; // <-
>     },
>     b;
> 
> var b = [
>       a,
>       b,
>       c
>     ],
>     c;
> 
> var c = {
>       a: 1,
>       b: 2,
>       c: 3
>     },
>     d;
> 
> // holes in arrays indentation
> x = [
>  1,
>  1,
>  1,
>  1,
>  1,
>  1,
>  1,
>  1,
>  1,
>  1
> ];
> 
> try {
>   a++;
>     b++; // <-
> c++; // ->
> } catch (d) {
>   e++;
>     f++; // <-
> g++; // ->
> } finally {
>   h++;
>     i++; // <-
> j++; // ->
> }
> 
> if (array.some(function(){
>   return true;
> })) {
> a++; // ->
>   b++;
>     c++; // <-
> }
> 
> var a = b.c(function() {
>       d++;
>     }),
>     e;
> 
> switch (true) {
>   case (a
>   && b):
> case (c // ->
> && d):
>     case (e // <-
>     && f):
>   case (g
> && h):
>       var i = j; // <-
>     var k = l;
>   var m = n; // ->
> }
> 
> if (a) {
>   b();
> }
> else {
> c(); // ->
>   d();
>     e(); // <-
> }
> 
> if (a) b();
> else {
> c(); // ->
>   d();
>     e(); // <-
> }
> 
> if (a) {
>   b();
> } else c();
> 
> if (a) {
>   b();
> }
> else c();
> 
> a();
> 
> if( "very very long multi line" +
>       "with weird indentation" ) {
>   b();
> a(); // ->
>     c(); // <-
> }
> 
> a( "very very long multi line" +
>     "with weird indentation", function() {
>   b();
> a(); // ->
>     c(); // <-
> });
> 
> a = function(content, dom) {
>   b();
>     c(); // <-
> d(); // ->
> };
> 
> a = function(content, dom) {
>       b();
>         c(); // <-
>     d(); // ->
>     };
> 
> a = function(content, dom) {
>     b(); // ->
>     };
> 
> a = function(content, dom) {
> b(); // ->
>     };
> 
> a('This is a terribly long description youll ' +
>   'have to read', function () {
>   b();
>   c();
> });
> 
> if (
>   array.some(function(){
>     return true;
>   })
> ) {
> a++; // ->
>   b++;
>     c++; // <-
> }
> 
> function c(d) {
>   return {
>     e: function(f, g) {
>     }
>   };
> }
> 
> function a(b) {
>   switch(x) {
>     case 1:
>       if (foo) {
>         return 5;
>       }
>   }
> }
> 
> function a(b) {
>   switch(x) {
>     case 1:
>       c;
>   }
> }
> 
> function a(b) {
>   switch(x) {
>     case 1: c;
>   }
> }
> 
> function test() {
>   var a = 1;
>   {
>     a();
>   }
> }
> 
> {
>   a();
> }
> 
> function a(b) {
>   switch(x) {
>     case 1:
>         {
>         a();
>       }
>       break;
>     default:
>       {
>         b();
>         }
>   }
> }
> 
> switch (a) {
>   default:
>     if (b)
>       c();
> }
> 
> function test(x) {
>   switch (x) {
>     case 1:
>       return function() {
>         var a = 5;
>         return a;
>       };
>   }
> }
> 
> switch (a) {
>   default:
>     if (b)
>       c();
> }
> 
> ok 3873 indent-legacy invalid switch(value){
>     case "1":
>         a();
>     break;
>     case "2":
>         a();
>     break;
>     default:
>         a();
>         break;
> }
> ok 3874 indent-legacy invalid var x = 0 &&
>     {
>        a: 1,
>           b: 2
>     };
> ok 3875 indent-legacy invalid switch(value){
>     case "1":
>         a();
>         break;
>     case "2":
>         a();
>         break;
>     default:
>     break;
> }
> ok 3876 indent-legacy invalid switch(value){
>     case "1":
>     case "2":
>         a();
>         break;
>     default:
>         break;
> }
> switch(value){
>     case "1":
>     break;
>     case "2":
>         a();
>     break;
>     default:
>         a();
>     break;
> }
> ok 3877 indent-legacy invalid switch(value){
> case "1":
>         a();
>         break;
>     case "2":
>         break;
>     default:
>         break;
> }
> ok 3878 indent-legacy invalid var obj = {foo: 1, bar: 2};
> with (obj) {
> console.log(foo + bar);
> }
> 
> ok 3879 indent-legacy invalid switch (a) {
> case '1':
> b();
> break;
> default:
> c();
> break;
> }
> 
> ok 3880 indent-legacy invalid var foo = function(){
>     foo
>           .bar
> }
> ok 3881 indent-legacy invalid var foo = function(){
>     foo
>              .bar
> }
> ok 3882 indent-legacy invalid var foo = () => {
>     foo
>              .bar
> }
> ok 3883 indent-legacy invalid TestClass.prototype.method = function () {
>   return Promise.resolve(3)
>       .then(function (x) {
>         return x;
>       });
> };
> ok 3884 indent-legacy invalid while (a) 
> b();
> ok 3885 indent-legacy invalid for (;;) 
> b();
> ok 3886 indent-legacy invalid for (a in x) 
> b();
> ok 3887 indent-legacy invalid do 
> b();
> while(true)
> ok 3888 indent-legacy invalid if(true) 
> b();
> ok 3889 indent-legacy invalid var test = {
>       a: 1,
>     b: 2
>     };
> 
> ok 3890 indent-legacy invalid var a = function() {
>       a++;
>     b++;
>           c++;
>     },
>     b;
> 
> ok 3891 indent-legacy invalid var a = 1,
> b = 2,
> c = 3;
> 
> ok 3892 indent-legacy invalid [a, b, 
> c].forEach((index) => {
>   index;
> });
> 
> ok 3893 indent-legacy invalid [a, b, 
> c].forEach(function(index){
>   return index;
> });
> 
> ok 3894 indent-legacy invalid [a, b, 
> c].forEach(function(index){
>     return index;
> });
> 
> ok 3895 indent-legacy invalid [a, b, c].forEach((index) => {
>   index;
> });
> 
> ok 3896 indent-legacy invalid [a, b, c].forEach(function(index){
>   return index;
> });
> 
> ok 3897 indent-legacy invalid var x = ['a',
>          'b',
>          'c'
> ];
> ok 3898 indent-legacy invalid var x = [
>          'a',
>          'b',
>          'c'
> ];
> ok 3899 indent-legacy invalid var x = [
>          'a',
>          'b',
>          'c',
> 'd'];
> ok 3900 indent-legacy invalid var x = [
>          'a',
>          'b',
>          'c'
>   ];
> ok 3901 indent-legacy invalid while (1 < 2)
> console.log('foo')
>   console.log('bar')
> ok 3902 indent-legacy invalid function salutation () {
>   switch (1) {
>   case 0: return console.log('hi')
>     case 1: return console.log('hey')
>   }
> }
> 
> ok 3903 indent-legacy invalid var geometry, box, face1, face2, colorT, colorB, sprite, padding, maxWidth,
> height, rotate;
> ok 3904 indent-legacy invalid switch (a) {
> case '1':
> b();
> break;
> default:
> c();
> break;
> }
> 
> ok 3905 indent-legacy invalid var geometry,
> rotate;
> ok 3906 indent-legacy invalid var geometry,
>   rotate;
> ok 3907 indent-legacy invalid var geometry,
> 	rotate;
> ok 3908 indent-legacy invalid let geometry,
>   rotate;
> ok 3909 indent-legacy invalid if(true)
>   if (true)
>     if (true)
>     console.log(val);
> ok 3910 indent-legacy invalid var a = {
>     a: 1,
>     b: 2
> }
> ok 3911 indent-legacy invalid var a = [
>     a,
>     b
> ]
> ok 3912 indent-legacy invalid let a = [
>     a,
>     b
> ]
> ok 3913 indent-legacy invalid var a = new Test({
>       a: 1
>   }),
>     b = 4;
> 
> ok 3914 indent-legacy invalid var a = new Test({
>       a: 1
>     }),
>     b = 4;
> const c = new Test({
>       a: 1
>     }),
>     d = 4;
> 
> ok 3915 indent-legacy invalid var abc = 5,
>     c = 2,
>     xyz = 
>      {
>        a: 1,
>         b: 2
>      };
> ok 3916 indent-legacy invalid var abc = 
>      {
>        a: 1,
>         b: 2
>      };
> ok 3917 indent-legacy invalid var path     = require('path')
>  , crypto    = require('crypto')
> ;
> 
> ok 3918 indent-legacy invalid var a = 1
>    ,b = 2
> ;
> ok 3919 indent-legacy invalid class A{
>   constructor(){}
>     a(){}
>     get b(){}
> }
> ok 3920 indent-legacy invalid var A = class {
>   constructor(){}
>     a(){}
>   get b(){}
> };
> ok 3921 indent-legacy invalid var a = 1,
>     B = class {
>     constructor(){}
>       a(){}
>       get b(){}
>     };
> ok 3922 indent-legacy invalid {
>     if(a){
>         foo();
>     }
>   else{
>         bar();
>     }
> }
> 
> ok 3923 indent-legacy invalid {
>     if(a){
>         foo();
>     }
>   else
>         bar();
>     
> }
> 
> ok 3924 indent-legacy invalid {
>     if(a)
>         foo();
>   else
>         bar();
> }
> 
> ok 3925 indent-legacy invalid (function(){
>   function foo(x) {
>     return x + 1;
>   }
> })();
> ok 3926 indent-legacy invalid (function(){
>     function foo(x) {
>         return x + 1;
>     }
> })();
> ok 3927 indent-legacy invalid if(data) {
> console.log('hi');
> }
> ok 3928 indent-legacy invalid var ns = function(){
>     function fooVar(x) {
>         return x + 1;
>     }
> }(x);
> ok 3929 indent-legacy invalid var obj = {
>   foo: function() {
>   return true;
>   }()
> };
> 
> ok 3930 indent-legacy invalid typeof function() {
>     function fooVar(x) {
>       return x + 1;
>     }
> }();
> ok 3931 indent-legacy invalid {
> 	!function(x) {
> 				return x + 1;
> 	}()
> };
> ok 3932 indent-legacy invalid Buffer
> .toString()
> ok 3933 indent-legacy invalid Buffer
>     .indexOf('a')
> .toString()
> ok 3934 indent-legacy invalid Buffer.
> length
> ok 3935 indent-legacy invalid Buffer.
> 		length
> ok 3936 indent-legacy invalid Buffer
>   .foo
>   .bar
> ok 3937 indent-legacy invalid if (foo) bar();
> else if (baz) foobar();
>   else if (qux) qux();
> ok 3938 indent-legacy invalid if (foo) bar();
> else if (baz) foobar();
>   else qux();
> ok 3939 indent-legacy invalid foo();
>   if (baz) foobar();
>   else qux();
> ok 3940 indent-legacy invalid if (foo) bar();
> else if (baz) foobar();
>      else if (bip) {
>        qux();
>      }
> ok 3941 indent-legacy invalid if (foo) bar();
> else if (baz) {
>     foobar();
>      } else if (boop) {
>        qux();
>      }
> ok 3942 indent-legacy invalid function foo(aaa,
>     bbb, ccc, ddd) {
>       bar();
> }
> ok 3943 indent-legacy invalid function foo(aaa, bbb,
>   ccc, ddd) {
> bar();
> }
> ok 3944 indent-legacy invalid function foo(aaa,
>         bbb,
>   ccc) {
>       bar();
> }
> ok 3945 indent-legacy invalid function foo(aaa,
>   bbb, ccc,
>                    ddd, eee, fff) {
>    bar();
> }
> ok 3946 indent-legacy invalid function foo(aaa, bbb)
> {
> bar();
> }
> ok 3947 indent-legacy invalid function foo(
> aaa,
>     bbb) {
> bar();
> }
> ok 3948 indent-legacy invalid var foo = function(aaa,
>   bbb,
>     ccc,
>       ddd) {
>   bar();
> }
> ok 3949 indent-legacy invalid var foo = function(aaa,
>    bbb,
>  ccc) {
>   bar();
> }
> ok 3950 indent-legacy invalid var foo = function(aaa,
>   bbb, ccc, ddd,
>                         eee, fff) {
>         bar();
> }
> ok 3951 indent-legacy invalid var foo = function(
> aaa, bbb, ccc,
>     ddd, eee) {
>   bar();
> }
> ok 3952 indent-legacy invalid var foo = bar;
> 			var baz = qux;
> ok 3953 indent-legacy invalid function foo() {
> 	bar();
>   baz();
>               qux();
> }
> ok 3954 indent-legacy invalid function foo() {
>   bar();
> 		}
> ok 3955 indent-legacy invalid function foo() {
>   function bar() {
>         baz();
>   }
> }
> ok 3956 indent-legacy invalid function foo() {
>   function bar(baz,
>     qux) {
>     foobar();
>   }
> }
> ok 3957 indent-legacy invalid function foo() {
>   var bar = function(baz,
>           qux) {
>     foobar();
>   };
> }
> ok 3958 indent-legacy invalid {
>     try {
>     }
> catch (err) {
>     }
> finally {
>     }
> }
> ok 3959 indent-legacy invalid {
>     do {
>     }
> while (true)
> }
> ok 3960 indent-legacy invalid function foo() {
>   return (
>     1
>     )
> }
> ok 3961 indent-legacy invalid function foo() {
>   return (
>     1
>     );
> }
> ok 3962 indent-legacy invalid function test(){
>   switch(length){
>     case 1: return function(a){
>     return fn.call(that, a);
>     };
>   }
> }
> ok 3963 indent-legacy invalid function foo() {
>    return 1
> }
> ok 3964 indent-legacy invalid function foo() {
>    return 1;
> }
> ok 3965 indent-legacy invalid foo(
> bar,
>   baz,
>     qux);
> ok 3966 indent-legacy invalid foo(
> 	bar,
> 	baz);
> ok 3967 indent-legacy invalid foo(bar,
> 		baz,
> 		qux);
> ok 3968 indent-legacy invalid foo(bar, baz,
>          qux);
> ok 3969 indent-legacy invalid foo(
>           bar,
>     baz);
> ok 3970 indent-legacy invalid foo(bar,
>   1 + 2,
>               !baz,
>         new Car('!')
> );
> ok 3971 indent-legacy invalid return (
>     foo
>     );
> ok 3972 indent-legacy invalid return (
>     foo
>     )
> ok 3973 indent-legacy invalid if (foo) {
>         /* comment */bar();
> }
> ok 3974 indent-legacy invalid foo('bar',
>         /** comment */{
>         ok: true    });
> ok 3975 indent-legacy invalid var foo = [
>            bar,
>   baz
>           ]
> ok 3976 indent-legacy invalid var foo = [bar,
> baz,
>     qux
> ]
> ok 3977 indent-legacy invalid var foo = [bar,
>   baz,
>   qux
> ]
> ok 3978 indent-legacy invalid var foo = [bar,
>   baz,
>   qux
> ]
> ok 3979 indent-legacy invalid var foo = [bar,
>     baz,
>     qux
> ]
> ok 3980 indent-legacy invalid var foo = [bar,
>     baz, qux
> ]
> ok 3981 indent-legacy invalid var foo = [
>         { bar: 1,
>             baz: 2 },
>         { bar: 3,
>             qux: 4 }
> ]
> ok 3982 indent-legacy invalid var foo = {
>   bar: 1,
>   baz: 2
> };
> ok 3983 indent-legacy invalid var quux = { foo: 1, bar: 2,
> baz: 3 }
> ok 3984 indent-legacy invalid function foo() {
>     [
>             foo
>     ]
> }
> ok 3985 indent-legacy invalid echo = spawn('cmd.exe',
>             ['foo', 'bar',
>              'baz']);
> ok 3986 indent valid bridge.callHandler(
>   'getAppVersion', 'test23', function(responseData) {
>     window.ah.mobileAppVersion = responseData;
>   }
> );
> ok 3987 indent valid bridge.callHandler(
>   'getAppVersion', 'test23', function(responseData) {
>     window.ah.mobileAppVersion = responseData;
>   });
> ok 3988 indent valid bridge.callHandler(
>   'getAppVersion',
>   null,
>   function responseCallback(responseData) {
>     window.ah.mobileAppVersion = responseData;
>   }
> );
> ok 3989 indent valid bridge.callHandler(
>   'getAppVersion',
>   null,
>   function responseCallback(responseData) {
>     window.ah.mobileAppVersion = responseData;
>   });
> ok 3990 indent valid function doStuff(keys) {
>     _.forEach(
>         keys,
>         key => {
>             doSomething(key);
>         }
>     );
> }
> ok 3991 indent valid example(
>     function () {
>         console.log('example');
>     }
> );
> ok 3992 indent valid let foo = somethingList
>     .filter(x => {
>         return x;
>     })
>     .map(x => {
>         return 100 * x;
>     });
> ok 3993 indent valid var x = 0 &&
>     {
>         a: 1,
>         b: 2
>     };
> ok 3994 indent valid var x = 0 &&
> 	{
> 		a: 1,
> 		b: 2
> 	};
> ok 3995 indent valid var x = 0 &&
>     {
>         a: 1,
>         b: 2
>     }||
>     {
>         c: 3,
>         d: 4
>     };
> ok 3996 indent valid var x = [
>     'a',
>     'b',
>     'c'
> ];
> ok 3997 indent valid var x = ['a',
>     'b',
>     'c',
> ];
> ok 3998 indent valid var x = 0 && 1;
> ok 3999 indent valid var x = 0 && { a: 1, b: 2 };
> ok 4000 indent valid var x = 0 &&
>     (
>         1
>     );
> ok 4001 indent valid require('http').request({hostname: 'localhost',
>   port: 80}, function(res) {
>   res.end();
> });
> ok 4002 indent valid function test() {
>   return client.signUp(email, PASSWORD, { preVerified: true })
>     .then(function (result) {
>       // hi
>     })
>     .then(function () {
>       return FunctionalHelpers.clearBrowserState(self, {
>         contentServer: true,
>         contentServer1: true
>       });
>     });
> }
> ok 4003 indent valid it('should... some lengthy test description that is forced to be' +
>   'wrapped into two lines since the line length limit is set', () => {
>   expect(true).toBe(true);
> });
> ok 4004 indent valid function test() {
>     return client.signUp(email, PASSWORD, { preVerified: true })
>         .then(function (result) {
>             var x = 1;
>             var y = 1;
>         }, function(err){
>             var o = 1 - 2;
>             var y = 1 - 2;
>             return true;
>         })
> }
> ok 4005 indent valid import foo from "foo"
> 
> ;(() => {})()
> ok 4006 indent valid function test() {
>     return client.signUp(email, PASSWORD, { preVerified: true })
>     .then(function (result) {
>         var x = 1;
>         var y = 1;
>     }, function(err){
>         var o = 1 - 2;
>         var y = 1 - 2;
>         return true;
>     });
> }
> ok 4007 indent valid // hi
> ok 4008 indent valid var Command = function() {
>   var fileList = [],
>       files = []
> 
>   files.concat(fileList)
> };
> ok 4009 indent valid   
> ok 4010 indent valid if(data) {
>   console.log('hi');
>   b = true;};
> ok 4011 indent valid foo = () => {
>   console.log('hi');
>   return true;};
> ok 4012 indent valid function test(data) {
>   console.log('hi');
>   return true;};
> ok 4013 indent valid var test = function(data) {
>   console.log('hi');
> };
> ok 4014 indent valid arr.forEach(function(data) {
>   otherdata.forEach(function(zero) {
>     console.log('hi');
>   }) });
> ok 4015 indent valid a = [
>     ,3
> ]
> ok 4016 indent valid [
>   ['gzip', 'gunzip'],
>   ['gzip', 'unzip'],
>   ['deflate', 'inflate'],
>   ['deflateRaw', 'inflateRaw'],
> ].forEach(function(method) {
>   console.log(method);
> });
> ok 4017 indent valid test(123, {
>     bye: {
>         hi: [1,
>             {
>                 b: 2
>             }
>         ]
>     }
> });
> ok 4018 indent valid var xyz = 2,
>     lmn = [
>         {
>             a: 1
>         }
>     ];
> ok 4019 indent valid lmnn = [{
>     a: 1
> },
> {
>     b: 2
> }, {
>     x: 2
> }];
> ok 4020 indent valid [{
>     foo: 1
> }, {
>     foo: 2
> }, {
>     foo: 3
> }]
> ok 4021 indent valid foo([
>     bar
> ], [
>     baz
> ], [
>     qux
> ]);
> ok 4022 indent valid abc({
>     test: [
>         [
>             c,
>             xyz,
>             2
>         ].join(',')
>     ]
> });
> ok 4023 indent valid abc = {
>   test: [
>     [
>       c,
>       xyz,
>       2
>     ]
>   ]
> };
> ok 4024 indent valid abc(
>   {
>     a: 1,
>     b: 2
>   }
> );
> ok 4025 indent valid abc({
>     a: 1,
>     b: 2
> });
> ok 4026 indent valid var abc =
>   [
>     c,
>     xyz,
>     {
>       a: 1,
>       b: 2
>     }
>   ];
> ok 4027 indent valid var abc = [
>   c,
>   xyz,
>   {
>     a: 1,
>     b: 2
>   }
> ];
> ok 4028 indent valid var abc = 5,
>     c = 2,
>     xyz =
>     {
>       a: 1,
>       b: 2
>     };
> ok 4029 indent valid var
>     x = {
>         a: 1,
>     },
>     y = {
>         b: 2
>     }
> ok 4030 indent valid const
>     x = {
>         a: 1,
>     },
>     y = {
>         b: 2
>     }
> ok 4031 indent valid let
>     x = {
>         a: 1,
>     },
>     y = {
>         b: 2
>     }
> ok 4032 indent valid var foo = { a: 1 }, bar = {
>     b: 2
> };
> ok 4033 indent valid var foo = { a: 1 }, bar = {
>         b: 2
>     },
>     baz = {
>         c: 3
>     }
> ok 4034 indent valid const {
>         foo
>     } = 1,
>     bar = 2
> ok 4035 indent valid var foo = 1,
>   bar =
>     2
> ok 4036 indent valid var foo = 1,
>   bar
>     = 2
> ok 4037 indent valid var foo
>   = 1,
>   bar
>     = 2
> ok 4038 indent valid var foo
>   =
>   1,
>   bar
>     =
>     2
> ok 4039 indent valid var foo
>   = (1),
>   bar
>     = (2)
> ok 4040 indent valid let foo = 'foo',
>     bar = bar;
> const a = 'a',
>       b = 'b';
> ok 4041 indent valid let foo = 'foo',
>     bar = bar  // <-- no semicolon here
> const a = 'a',
>       b = 'b'  // <-- no semicolon here
> ok 4042 indent valid var foo = 1,
>     bar = 2,
>     baz = 3
> ;
> ok 4043 indent valid var foo = 1,
>     bar = 2,
>     baz = 3
>     ;
> ok 4044 indent valid var foo = 'foo',
>     bar = bar;
> ok 4045 indent valid var foo = 'foo',
>     bar = 'bar'  // <-- no semicolon here
> ok 4046 indent valid let foo = 1,
>     bar = 2,
>     baz
> ok 4047 indent valid let
>     foo
> ok 4048 indent valid let foo = 1,
>     bar =
>     2
> ok 4049 indent valid var abc =
>     {
>       a: 1,
>       b: 2
>     };
> ok 4050 indent valid var a = new abc({
>         a: 1,
>         b: 2
>     }),
>     b = 2;
> ok 4051 indent valid var a = 2,
>   c = {
>     a: 1,
>     b: 2
>   },
>   b = 2;
> ok 4052 indent valid var x = 2,
>     y = {
>       a: 1,
>       b: 2
>     },
>     b = 2;
> ok 4053 indent valid var e = {
>       a: 1,
>       b: 2
>     },
>     b = 2;
> ok 4054 indent valid var a = {
>   a: 1,
>   b: 2
> };
> ok 4055 indent valid function test() {
>   if (true ||
>             false){
>     console.log(val);
>   }
> }
> ok 4056 indent valid var foo = bar ||
>     !(
>         baz
>     );
> ok 4057 indent valid for (var foo = 1;
>     foo < 10;
>     foo++) {}
> ok 4058 indent valid for (
>     var foo = 1;
>     foo < 10;
>     foo++
> ) {}
> ok 4059 indent valid for (var val in obj)
>   if (true)
>     console.log(val);
> ok 4060 indent valid if(true)
>   if (true)
>     if (true)
>       console.log(val);
> ok 4061 indent valid function hi(){     var a = 1;
>   y++;                   x++;
> }
> ok 4062 indent valid for(;length > index; index++)if(NO_HOLES || index in self){
>   x++;
> }
> ok 4063 indent valid function test(){
>   switch(length){
>     case 1: return function(a){
>       return fn.call(that, a);
>     };
>   }
> }
> ok 4064 indent valid var geometry = 2,
> rotate = 2;
> ok 4065 indent valid var geometry,
>     rotate;
> ok 4066 indent valid var geometry,
> 	rotate;
> ok 4067 indent valid var geometry,
>   rotate;
> ok 4068 indent valid var geometry,
>     rotate;
> ok 4069 indent valid let geometry,
>     rotate;
> ok 4070 indent valid const geometry = 2,
>     rotate = 3;
> ok 4071 indent valid var geometry, box, face1, face2, colorT, colorB, sprite, padding, maxWidth,
>   height, rotate;
> ok 4072 indent valid var geometry, box, face1, face2, colorT, colorB, sprite, padding, maxWidth;
> ok 4073 indent valid if (1 < 2){
> //hi sd
> }
> ok 4074 indent valid while (1 < 2){
>   //hi sd
> }
> ok 4075 indent valid while (1 < 2) console.log('hi');
> ok 4076 indent valid [a, boop,
>     c].forEach((index) => {
>     index;
> });
> ok 4077 indent valid [a, b,
>     c].forEach(function(index){
>     return index;
> });
> ok 4078 indent valid [a, b, c].forEach((index) => {
>     index;
> });
> ok 4079 indent valid [a, b, c].forEach(function(index){
>     return index;
> });
> ok 4080 indent valid (foo)
>     .bar([
>         baz
>     ]);
> ok 4081 indent valid switch (x) {
>     case "foo":
>         a();
>         break;
>     case "bar":
>         switch (y) {
>             case "1":
>                 break;
>             case "2":
>                 a = 6;
>                 break;
>         }
>     case "test":
>         break;
> }
> ok 4082 indent valid switch (x) {
>         case "foo":
>             a();
>             break;
>         case "bar":
>             switch (y) {
>                     case "1":
>                         break;
>                     case "2":
>                         a = 6;
>                         break;
>             }
>         case "test":
>             break;
> }
> ok 4083 indent valid switch (a) {
> case "foo":
>     a();
>     break;
> case "bar":
>     switch(x){
>     case '1':
>         break;
>     case '2':
>         a = 6;
>         break;
>     }
> }
> ok 4084 indent valid switch (a) {
> case "foo":
>     a();
>     break;
> case "bar":
>     if(x){
>         a = 2;
>     }
>     else{
>         a = 6;
>     }
> }
> ok 4085 indent valid switch (a) {
> case "foo":
>     a();
>     break;
> case "bar":
>     if(x){
>         a = 2;
>     }
>     else
>         a = 6;
> }
> ok 4086 indent valid switch (a) {
> case "foo":
>     a();
>     break;
> case "bar":
>     a(); break;
> case "baz":
>     a(); break;
> }
> ok 4087 indent valid switch (0) {
> }
> ok 4088 indent valid function foo() {
>     var a = "a";
>     switch(a) {
>     case "a":
>         return "A";
>     case "b":
>         return "B";
>     }
> }
> foo();
> ok 4089 indent valid switch(value){
>     case "1":
>     case "2":
>         a();
>         break;
>     default:
>         a();
>         break;
> }
> switch(value){
>     case "1":
>         a();
>         break;
>     case "2":
>         break;
>     default:
>         break;
> }
> ok 4090 indent valid var obj = {foo: 1, bar: 2};
> with (obj) {
>     console.log(foo + bar);
> }
> ok 4091 indent valid if (a) {
>     (1 + 2 + 3); // no error on this line
> }
> ok 4092 indent valid switch(value){ default: a(); break; }
> ok 4093 indent valid import {addons} from 'react/addons'
> import React from 'react'
> ok 4094 indent valid import {
>     foo,
>     bar,
>     baz
> } from 'qux';
> ok 4095 indent valid var foo = 0, bar = 0; baz = 0;
> export {
>     foo,
>     bar,
>     baz
> } from 'qux';
> ok 4096 indent valid var a = 1,
>     b = 2,
>     c = 3;
> ok 4097 indent valid var a = 1
>     ,b = 2
>     ,c = 3;
> ok 4098 indent valid while (1 < 2) console.log('hi')
> ok 4099 indent valid function salutation () {
>   switch (1) {
>     case 0: return console.log('hi')
>     case 1: return console.log('hey')
>   }
> }
> ok 4100 indent valid var items = [
>   {
>     foo: 'bar'
>   }
> ];
> ok 4101 indent valid const a = 1,
>       b = 2;
> const items1 = [
>   {
>     foo: 'bar'
>   }
> ];
> const items2 = Items(
>   {
>     foo: 'bar'
>   }
> );
> ok 4102 indent valid const geometry = 2,
>       rotate = 3;
> var a = 1,
>   b = 2;
> let light = true,
>     shadow = false;
> ok 4103 indent valid const abc = 5,
>       c = 2,
>       xyz =
>       {
>         a: 1,
>         b: 2
>       };
> let abc2 = 5,
>   c2 = 2,
>   xyz2 =
>   {
>     a: 1,
>     b: 2
>   };
> var abc3 = 5,
>     c3 = 2,
>     xyz3 =
>     {
>       a: 1,
>       b: 2
>     };
> ok 4104 indent valid module.exports = {
>   'Unit tests':
>   {
>     rootPath: './',
>     environment: 'node',
>     tests:
>     [
>       'test/test-*.js'
>     ],
>     sources:
>     [
>       '*.js',
>       'test/**.js'
>     ]
>   }
> };
> ok 4105 indent valid foo =
>   bar;
> ok 4106 indent valid foo = (
>   bar
> );
> ok 4107 indent valid var path     = require('path')
>   , crypto    = require('crypto')
>   ;
> ok 4108 indent valid var a = 1
>     ,b = 2
>     ;
> ok 4109 indent valid export function create (some,
>                         argument) {
>   return Object.create({
>     a: some,
>     b: argument
>   });
> };
> ok 4110 indent valid export function create (id, xfilter, rawType,
>                         width=defaultWidth, height=defaultHeight,
>                         footerHeight=defaultFooterHeight,
>                         padding=defaultPadding) {
>   // ... function body, indented two spaces
> }
> ok 4111 indent valid var obj = {
>   foo: function () {
>     return new p()
>       .then(function (ok) {
>         return ok;
>       }, function () {
>         // ignore things
>       });
>   }
> };
> ok 4112 indent valid a.b()
>   .c(function(){
>     var a;
>   }).d.e;
> ok 4113 indent valid const YO = 'bah',
>       TE = 'mah'
> 
> var res,
>     a = 5,
>     b = 4
> ok 4114 indent valid const YO = 'bah',
>       TE = 'mah'
> 
> var res,
>     a = 5,
>     b = 4
> 
> if (YO) console.log(TE)
> ok 4115 indent valid var foo = 'foo',
>   bar = 'bar',
>   baz = function() {
> 
>   }
> 
> function hello () {
> 
> }
> ok 4116 indent valid var obj = {
>   send: function () {
>     return P.resolve({
>       type: 'POST'
>     })
>       .then(function () {
>         return true;
>       }, function () {
>         return false;
>       });
>   }
> };
> ok 4117 indent valid var obj = {
>   send: function () {
>     return P.resolve({
>       type: 'POST'
>     })
>     .then(function () {
>       return true;
>     }, function () {
>       return false;
>     });
>   }
> };
> ok 4118 indent valid const someOtherFunction = argument => {
>         console.log(argument);
>     },
>     someOtherValue = 'someOtherValue';
> ok 4119 indent valid [
>   'a',
>   'b'
> ].sort().should.deepEqual([
>   'x',
>   'y'
> ]);
> ok 4120 indent valid var a = 1,
>     B = class {
>       constructor(){}
>       a(){}
>       get b(){}
>     };
> ok 4121 indent valid var a = 1,
>     B =
>     class {
>       constructor(){}
>       a(){}
>       get b(){}
>     },
>     c = 3;
> ok 4122 indent valid class A{
>     constructor(){}
>     a(){}
>     get b(){}
> }
> ok 4123 indent valid var A = class {
>     constructor(){}
>     a(){}
>     get b(){}
> }
> ok 4124 indent valid var a = {
>   some: 1
>   , name: 2
> };
> ok 4125 indent valid a.c = {
>     aa: function() {
>         'test1';
>         return 'aa';
>     }
>     , bb: function() {
>         return this.bb();
>     }
> };
> ok 4126 indent valid var a =
> {
>     actions:
>     [
>         {
>             name: 'compile'
>         }
>     ]
> };
> ok 4127 indent valid var a =
> [
>     {
>         name: 'compile'
>     }
> ];
> ok 4128 indent valid [[
> ], function(
>     foo
> ) {}
> ]
> ok 4129 indent valid define([
>     'foo'
> ], function(
>     bar
> ) {
>     baz;
> }
> )
> ok 4130 indent valid const func = function (opts) {
>     return Promise.resolve()
>     .then(() => {
>         [
>             'ONE', 'TWO'
>         ].forEach(command => { doSomething(); });
>     });
> };
> ok 4131 indent valid const func = function (opts) {
>     return Promise.resolve()
>         .then(() => {
>             [
>                 'ONE', 'TWO'
>             ].forEach(command => { doSomething(); });
>         });
> };
> ok 4132 indent valid var haveFun = function () {
>     SillyFunction(
>         {
>             value: true,
>         },
>         {
>             _id: true,
>         }
>     );
> };
> ok 4133 indent valid var haveFun = function () {
>     new SillyFunction(
>         {
>             value: true,
>         },
>         {
>             _id: true,
>         }
>     );
> };
> ok 4134 indent valid let object1 = {
>   doThing() {
>     return _.chain([])
>       .map(v => (
>         {
>           value: true,
>         }
>       ))
>       .value();
>   }
> };
> ok 4135 indent valid var foo = {
>     bar: 1,
>     baz: {
>       qux: 2
>     }
>   },
>   bar = 1;
> ok 4136 indent valid class Foo
>   extends Bar {
>   baz() {}
> }
> ok 4137 indent valid class Foo extends
>   Bar {
>   baz() {}
> }
> ok 4138 indent valid class Foo extends
>   (
>     Bar
>   ) {
>   baz() {}
> }
> ok 4139 indent valid fs.readdirSync(path.join(__dirname, '../rules')).forEach(name => {
>   files[name] = foo;
> });
> ok 4140 indent valid (function(){
> function foo(x) {
>   return x + 1;
> }
> })();
> ok 4141 indent valid (function(){
>         function foo(x) {
>             return x + 1;
>         }
> })();
> ok 4142 indent valid (function(x, y){
> function foo(x) {
>   return x + 1;
> }
> })(1, 2);
> ok 4143 indent valid (function(){
> function foo(x) {
>   return x + 1;
> }
> }());
> ok 4144 indent valid !function(){
> function foo(x) {
>   return x + 1;
> }
> }();
> ok 4145 indent valid !function(){
> 			function foo(x) {
> 				return x + 1;
> 			}
> }();
> ok 4146 indent valid var out = function(){
>   function fooVar(x) {
>     return x + 1;
>   }
> };
> ok 4147 indent valid var ns = function(){
> function fooVar(x) {
>   return x + 1;
> }
> }();
> ok 4148 indent valid ns = function(){
> function fooVar(x) {
>   return x + 1;
> }
> }();
> ok 4149 indent valid var ns = (function(){
> function fooVar(x) {
>   return x + 1;
> }
> }(x));
> ok 4150 indent valid var ns = (function(){
>         function fooVar(x) {
>             return x + 1;
>         }
> }(x));
> ok 4151 indent valid var obj = {
>   foo: function() {
>     return true;
>   }
> };
> ok 4152 indent valid while (
>   function() {
>     return true;
>   }()) {
> 
>   x = x + 1;
> };
> ok 4153 indent valid (() => {
> function foo(x) {
>   return x + 1;
> }
> })();
> ok 4154 indent valid function foo() {
> }
> ok 4155 indent valid ;(() => {
> function foo(x) {
>   return x + 1;
> }
> })();
> ok 4156 indent valid if(data) {
>   console.log('hi');
> }
> ok 4157 indent valid Buffer.length
> ok 4158 indent valid Buffer
>     .indexOf('a')
>     .toString()
> ok 4159 indent valid Buffer.
>     length
> ok 4160 indent valid Buffer
>     .foo
>     .bar
> ok 4161 indent valid Buffer
> 	.foo
> 	.bar
> ok 4162 indent valid Buffer
>     .foo
>     .bar
> ok 4163 indent valid (
>     foo
>         .bar
> )
> ok 4164 indent valid (
>     (
>         foo
>             .bar
>     )
> )
> ok 4165 indent valid (
>     foo
> )
>     .bar
> ok 4166 indent valid (
>     (
>         foo
>     )
>         .bar
> )
> ok 4167 indent valid (
>     (
>         foo
>     )
>         [
>             (
>                 bar
>             )
>         ]
> )
> ok 4168 indent valid (
>     foo[bar]
> )
>     .baz
> ok 4169 indent valid (
>     (foo.bar)
> )
>     .baz
> ok 4170 indent valid MemberExpression
> .can
>   .be
>     .turned
>  .off();
> ok 4171 indent valid foo = bar.baz()
>     .bip();
> ok 4172 indent valid function foo() {
>     new
>         .target
> }
> ok 4173 indent valid function foo() {
>     new.
>         target
> }
> ok 4174 indent valid if (foo) {
>   bar();
> } else if (baz) {
>   foobar();
> } else if (qux) {
>   qux();
> }
> ok 4175 indent valid function foo(aaa,
>   bbb, ccc, ddd) {
>     bar();
> }
> ok 4176 indent valid function foo(aaa, bbb,
>       ccc, ddd) {
>   bar();
> }
> ok 4177 indent valid function foo(aaa,
>     bbb,
>     ccc) {
>             bar();
> }
> ok 4178 indent valid function foo(aaa,
>              bbb, ccc,
>              ddd, eee, fff) {
>   bar();
> }
> ok 4179 indent valid function foo(aaa, bbb)
> {
>       bar();
> }
> ok 4180 indent valid function foo(
>   aaa,
>   bbb) {
>     bar();
> }
> ok 4181 indent valid var foo = function(aaa,
>     bbb,
>     ccc,
>     ddd) {
> bar();
> }
> ok 4182 indent valid var foo = function(aaa,
>   bbb,
>   ccc) {
>                     bar();
> }
> ok 4183 indent valid var foo = function(aaa,
>                    bbb, ccc, ddd,
>                    eee, fff) {
>     bar();
> }
> ok 4184 indent valid var foo = function(
>   aaa, bbb, ccc,
>   ddd, eee) {
>       bar();
> }
> ok 4185 indent valid foo.bar(
>       baz, qux, function() {
>             qux;
>       }
> );
> ok 4186 indent valid function foo() {
>   bar();
>   	baz();
> 	   			  			  	   	qux();
> }
> ok 4187 indent valid function foo() {
>   function bar() {
>     baz();
>   }
> }
> ok 4188 indent valid function foo() {
>   bar();
>    		}
> ok 4189 indent valid function foo() {
>   function bar(baz,
>       qux) {
>     foobar();
>   }
> }
> ok 4190 indent valid ((
>     foo
> ))
> ok 4191 indent valid foo
>   ? bar
>   : baz
> ok 4192 indent valid foo = (bar ?
>   baz :
>   qux
> );
> ok 4193 indent valid [
>     foo ?
>         bar :
>         baz,
>     qux
> ];
> ok 4194 indent valid foo();
> // Line
> /* multiline
>   Line */
> bar();
> // trailing comment
> ok 4195 indent valid switch (foo) {
>   case bar:
>     baz();
>     // call the baz function
> }
> ok 4196 indent valid switch (foo) {
>   case bar:
>     baz();
>   // no default
> }
> ok 4197 indent valid [
>     // no elements
> ]
> ok 4198 indent valid var {
>   foo,
>   bar,
>   baz: qux,
>   foobar: baz = foobar
> } = qux;
> ok 4199 indent valid var [
>   foo,
>   bar,
>   baz,
>   foobar = baz
> ] = qux;
> ok 4200 indent valid const {
>   a
> }
> =
> {
>   a: 1
> }
> ok 4201 indent valid const {
>   a
> } = {
>   a: 1
> }
> ok 4202 indent valid const
>   {
>     a
>   } = {
>     a: 1
>   };
> ok 4203 indent valid const
>   foo = {
>     bar: 1
>   }
> ok 4204 indent valid const [
>   a
> ] = [
>   1
> ]
> ok 4205 indent valid var folder = filePath
>     .foo()
>     .bar;
> ok 4206 indent valid for (const foo of bar)
>   baz();
> ok 4207 indent valid var x = () =>
>   5;
> ok 4208 indent valid (
>     foo
> )(
>     bar
> )
> ok 4209 indent valid (() =>
>     foo
> )(
>     bar
> )
> ok 4210 indent valid (() => {
>     foo();
> })(
>     bar
> )
> ok 4211 indent valid ({code:
>   "foo.bar();"})
> ok 4212 indent valid ({code:
> "foo.bar();"})
> ok 4213 indent valid ({
>     foo:
>         bar
> })
> ok 4214 indent valid ({
>     [foo]:
>         bar
> })
> ok 4215 indent valid switch (foo) {
>   // comment
>   case study:
>     // comment
>     bar();
>   case closed:
>     /* multiline comment
>     */
> }
> ok 4216 indent valid switch (foo) {
>   // comment
>   case study:
>   // the comment can also be here
>   case closed:
> }
> ok 4217 indent valid foo && (
>     bar
> )
> ok 4218 indent valid foo && ((
>     bar
> ))
> ok 4219 indent valid foo &&
>     (
>         bar
>     )
> ok 4220 indent valid foo &&
>     !bar(
>     )
> ok 4221 indent valid foo &&
>     ![].map(() => {
>         bar();
>     })
> ok 4222 indent valid foo =
>     bar;
> ok 4223 indent valid function foo() {
>   var bar = function(baz,
>         qux) {
>     foobar();
>   };
> }
> ok 4224 indent valid function foo() {
>     return (bar === 1 || bar === 2 &&
>         (/Function/.test(grandparent.type))) &&
>         directives(parent).indexOf(node) >= 0;
> }
> ok 4225 indent valid function foo() {
>     return (foo === bar || (
>         baz === qux && (
>             foo === foo ||
>             bar === bar ||
>             baz === baz
>         )
>     ))
> }
> ok 4226 indent valid if (
>     foo === 1 ||
>     bar === 1 ||
>     // comment
>     (baz === 1 && qux === 1)
> ) {}
> ok 4227 indent valid foo =
>   (bar + baz);
> ok 4228 indent valid function foo() {
>   return (bar === 1 || bar === 2) &&
>     (z === 3 || z === 4);
> }
> ok 4229 indent valid /* comment */ if (foo) {
>   bar();
> }
> ok 4230 indent valid if (foo) {
>   bar();
> // Otherwise, if foo is false, do baz.
> // baz is very important.
> } else {
>   baz();
> }
> ok 4231 indent valid function foo() {
>   return ((bar === 1 || bar === 2) &&
>     (z === 3 || z === 4));
> }
> ok 4232 indent valid foo(
>   bar,
>   baz,
>   qux
> );
> ok 4233 indent valid foo(
> 	bar,
> 	baz,
> 	qux
> );
> ok 4234 indent valid foo(bar,
>         baz,
>         qux);
> ok 4235 indent valid foo(
> bar,
> baz,
> qux
> );
> ok 4236 indent valid foo(bar,
>     baz,
>     qux
> );
> ok 4237 indent valid foo(bar, baz,
>     qux, barbaz,
>     barqux, bazqux);
> ok 4238 indent valid foo(bar,
>         1 + 2,
>         !baz,
>         new Car('!')
> );
> ok 4239 indent valid foo(
>     (bar)
> );
> ok 4240 indent valid foo(
>     (bar)
> );
> ok 4241 indent valid var foo = function() {
>   return bar(
>     [{
>     }].concat(baz)
>   );
> };
> ok 4242 indent valid return (
>     foo
> );
> ok 4243 indent valid return (
>     foo
> )
> ok 4244 indent valid var foo = [
>     bar,
>     baz
> ]
> ok 4245 indent valid var foo = [bar,
>     baz,
>     qux
> ]
> ok 4246 indent valid var foo = [bar,
> baz,
> qux
> ]
> ok 4247 indent valid var foo = [bar,
>                 baz,
>                 qux
> ]
> ok 4248 indent valid var foo = [bar,
>            baz,
>            qux
> ]
> ok 4249 indent valid var foo = [bar,
>            baz, qux
> ]
> ok 4250 indent valid var foo = [
>         { bar: 1,
>           baz: 2 },
>         { bar: 3,
>           baz: 4 }
> ]
> ok 4251 indent valid var foo = {
> bar: 1,
> baz: 2
> };
> ok 4252 indent valid var foo = { foo: 1, bar: 2,
>             baz: 3 }
> ok 4253 indent valid var foo = [
>         {
>             foo: 1
>         }
> ]
> ok 4254 indent valid function foo() {
>   [
>           foo
>   ]
> }
> ok 4255 indent valid [
> ]
> ok 4256 indent valid [
> ]
> ok 4257 indent valid {
> }
> ok 4258 indent valid {
> }
> ok 4259 indent valid var foo = [
>   [
>     1
>   ]
> ]
> ok 4260 indent valid var foo = [ 1,
>             [
>               2
>             ]
> ];
> ok 4261 indent valid var foo = bar(1,
>               [ 2,
>                 3
>               ]
> );
> ok 4262 indent valid var foo =
>     [
>     ]()
> ok 4263 indent valid const lambda = foo => {
>   Object.assign({},
>     filterName,
>     {
>       display
>     }
>   );
> }
> ok 4264 indent valid const lambda = foo => {
>   Object.assign({},
>     filterName,
>     {
>       display
>     }
>   );
> }
> ok 4265 indent valid var foo = function() {
> 	window.foo('foo',
> 		{
> 			foo: 'bar',
> 			bar: {
> 				foo: 'bar'
> 			}
> 		}
> 	);
> }
> ok 4266 indent valid echo = spawn('cmd.exe',
>              ['foo', 'bar',
>               'baz']);
> ok 4267 indent valid if (foo)
>   bar();
> // Otherwise, if foo is false, do baz.
> // baz is very important.
> else {
>   baz();
> }
> ok 4268 indent valid if (
>     foo && bar ||
>     baz && qux // This line is ignored because BinaryExpressions are not checked.
> ) {
>     qux();
> }
> ok 4269 indent valid [
> ] || [
> ]
> ok 4270 indent valid (
>     [
>     ] || [
>     ]
> )
> ok 4271 indent valid 1
> + (
>     1
> )
> ok 4272 indent valid (
>     foo && (
>         bar ||
>         baz
>     )
> )
> ok 4273 indent valid foo
>     || (
>         bar
>     )
> ok 4274 indent valid foo
>                 || (
>                     bar
>                 )
> ok 4275 indent valid var foo =
>         1;
> ok 4276 indent valid var foo = 1,
>     bar =
>     2;
> ok 4277 indent valid switch (foo) {
>   case bar:
>   {
>     baz();
>   }
> }
> ok 4278 indent valid `foo${
>   bar}`
> ok 4279 indent valid `foo${
>   `bar${
>     baz}`}`
> ok 4280 indent valid `foo${
>   `bar${
>     baz
>   }`
> }`
> ok 4281 indent valid `foo${
>   (
>     bar
>   )
> }`
> ok 4282 indent valid foo(`
>     bar
> `, {
>     baz: 1
> });
> ok 4283 indent valid function foo() {
>     `foo${bar}baz${
>         qux}foo${
>         bar}baz`
> }
> ok 4284 indent valid JSON
>     .stringify(
>         {
>             ok: true
>         }
>     );
> ok 4285 indent valid foo =
>     bar =
>     baz;
> ok 4286 indent valid foo =
> bar =
>     baz;
> ok 4287 indent valid function foo() {
>     const template = `this indentation is not checked
> because it's part of a template literal.`;
> }
> ok 4288 indent valid function foo() {
>     const template = `the indentation of a ${
>         node.type
>     } node is checked.`;
> }
> ok 4289 indent valid JSON
>     .stringify(
>         {
>             test: 'test'
>         }
>     );
> ok 4290 indent valid [
>     foo,
>     // comment
>     // another comment
>     bar
> ]
> ok 4291 indent valid if (foo) {
>     /* comment */ bar();
> }
> ok 4292 indent valid function foo() {
>     return (
>         1
>     );
> }
> ok 4293 indent valid function foo() {
>     return (
>         1
>     )
> }
> ok 4294 indent valid if (
>     foo &&
>     !(
>         bar
>     )
> ) {}
> ok 4295 indent valid var abc = [
>   (
>     ''
>   ),
>   def,
> ]
> ok 4296 indent valid var abc = [
>   (
>     ''
>   ),
>   (
>     'bar'
>   )
> ]
> ok 4297 indent valid function f() {
>     return asyncCall()
>         .then(
>             'some string',
>             [
>                 1,
>                 2,
>                 3
>             ]
>         );
> }
> ok 4298 indent valid function f() {
>     return asyncCall()
>         .then(
>             'some string',
>             [
>                 1,
>                 2,
>                 3
>             ]
>         );
> }
> ok 4299 indent valid var x = [
>     [1],
>     [2]
> ]
> ok 4300 indent valid var y = [
>     {a: 1},
>     {b: 2}
> ]
> ok 4301 indent valid foo(
> )
> ok 4302 indent valid foo(
>     bar,
>     {
>         baz: 1
>     }
> )
> ok 4303 indent valid new Foo
> ok 4304 indent valid new (Foo)
> ok 4305 indent valid if (Foo) {
>     new Foo
> }
> ok 4306 indent valid var foo = 0, bar = 0, baz = 0;
> export {
>     foo,
>     bar,
>     baz
> }
> ok 4307 indent valid foo
>     ? bar
>     : baz
> ok 4308 indent valid foo ?
>     bar :
>     baz
> ok 4309 indent valid foo ?
>     bar
>     : baz
> ok 4310 indent valid foo
>     ? bar :
>     baz
> ok 4311 indent valid foo
>     ? bar
>     : baz
>         ? qux
>         : foobar
>             ? boop
>             : beep
> ok 4312 indent valid foo ?
>     bar :
>     baz ?
>         qux :
>         foobar ?
>             boop :
>             beep
> ok 4313 indent valid var a =
>     foo ? bar :
>     baz ? qux :
>     foobar ? boop :
>     /*else*/ beep
> ok 4314 indent valid var a = foo
>     ? bar
>     : baz
> ok 4315 indent valid var a =
>     foo
>         ? bar
>         : baz
> ok 4316 indent valid a =
>     foo ? bar :
>     baz ? qux :
>     foobar ? boop :
>     /*else*/ beep
> ok 4317 indent valid a = foo
>     ? bar
>     : baz
> ok 4318 indent valid a =
>     foo
>         ? bar
>         : baz
> ok 4319 indent valid foo(
>     foo ? bar :
>     baz ? qux :
>     foobar ? boop :
>     /*else*/ beep
> )
> ok 4320 indent valid function wrap() {
>     return (
>         foo ? bar :
>         baz ? qux :
>         foobar ? boop :
>         /*else*/ beep
>     )
> }
> ok 4321 indent valid function wrap() {
>     return foo
>         ? bar
>         : baz
> }
> ok 4322 indent valid function wrap() {
>     return (
>         foo
>             ? bar
>             : baz
>     )
> }
> ok 4323 indent valid foo(
>     foo
>         ? bar
>         : baz
> )
> ok 4324 indent valid foo(foo
>     ? bar
>     : baz
> )
> ok 4325 indent valid foo
>     ? bar
>     : baz
>         ? qux
>         : foobar
>             ? boop
>             : beep
> ok 4326 indent valid foo ?
>     bar :
>     baz ?
>         qux :
>         foobar ?
>             boop :
>             beep
> ok 4327 indent valid [,]
> ok 4328 indent valid [,]
> ok 4329 indent valid [
>     ,
>     foo
> ]
> ok 4330 indent valid [sparse, , array];
> ok 4331 indent valid foo.bar('baz', function(err) {
>   qux;
> });
> ok 4332 indent valid foo.bar(function() {
>   cookies;
> }).baz(function() {
>   cookies;
> });
> ok 4333 indent valid foo.bar().baz(function() {
>   cookies;
> }).qux(function() {
>   cookies;
> });
> ok 4334 indent valid (
>   {
>     foo: 1,
>     baz: 2
>   }
> );
> ok 4335 indent valid foo(() => {
>     bar;
> }, () => {
>     baz;
> })
> ok 4336 indent valid [ foo,
>   bar ].forEach(function() {
>   baz;
> })
> ok 4337 indent valid foo = bar[
>     baz
> ];
> ok 4338 indent valid foo[
>     bar
> ];
> ok 4339 indent valid foo[
>     (
>         bar
>     )
> ];
> ok 4340 indent valid if (foo)
>     bar;
> else if (baz)
>     qux;
> ok 4341 indent valid if (foo) bar()
> 
> ; [1, 2, 3].map(baz)
> ok 4342 indent valid if (foo)
>     ;
> ok 4343 indent valid x => {}
> ok 4344 indent valid import {foo}
>     from 'bar';
> ok 4345 indent valid import 'foo'
> ok 4346 indent valid import { foo,
>     bar,
>     baz,
> } from 'qux';
> ok 4347 indent valid import {
>     foo,
>     bar,
>     baz,
> } from 'qux';
> ok 4348 indent valid import { apple as a,
>          banana as b } from 'fruits';
> import { cat } from 'animals';
> ok 4349 indent valid import { declaration,
>                  can,
>                   be,
>               turned } from 'off';
> ok 4350 indent valid (
>     a
> ) => b => {
>     c
> }
> ok 4351 indent valid (
>     a
> ) => b => c => d => {
>     e
> }
> ok 4352 indent valid (
>     a
> ) =>
>     (
>         b
>     ) => {
>         c
>     }
> ok 4353 indent valid if (
>     foo
> ) bar(
>     baz
> );
> ok 4354 indent valid if (foo)
> {
>     bar();
> }
> ok 4355 indent valid function foo(bar)
> {
>     baz();
> }
> ok 4356 indent valid () =>
>     ({})
> ok 4357 indent valid () =>
>     (({}))
> ok 4358 indent valid (
>     () =>
>         ({})
> )
> ok 4359 indent valid var x = function foop(bar)
> {
>     baz();
> }
> ok 4360 indent valid var x = (bar) =>
> {
>     baz();
> }
> ok 4361 indent valid class Foo
> {
>     constructor()
>     {
>         foo();
>     }
> 
>     bar()
>     {
>         baz();
>     }
> }
> ok 4362 indent valid class Foo
>     extends Bar
> {
>     constructor()
>     {
>         foo();
>     }
> 
>     bar()
>     {
>         baz();
>     }
> }
> ok 4363 indent valid (
>     class Foo
>     {
>         constructor()
>         {
>             foo();
>         }
> 
>         bar()
>         {
>             baz();
>         }
>     }
> )
> ok 4364 indent valid switch (foo)
> {
>     case 1:
>         bar();
> }
> ok 4365 indent valid foo
>     .bar(function() {
>         baz
>     })
> ok 4366 indent valid foo
>         .bar(function() {
>             baz
>         })
> ok 4367 indent valid foo
>     [bar](function() {
>         baz
>     })
> ok 4368 indent valid foo.
>     bar.
>     baz
> ok 4369 indent valid foo
>     .bar(function() {
>         baz
>     })
> ok 4370 indent valid foo
>                 .bar(function() {
>                     baz
>                 })
> ok 4371 indent valid foo
>                 [bar](function() {
>                     baz
>                 })
> ok 4372 indent valid foo.
>         bar.
>                     baz
> ok 4373 indent valid foo = bar(
> ).baz(
> )
> ok 4374 indent valid foo[
>     bar ? baz :
>     qux
> ]
> ok 4375 indent valid function foo() {
>     return foo ? bar :
>         baz
> }
> ok 4376 indent valid throw foo ? bar :
>     baz
> ok 4377 indent valid foo(
>     bar
> ) ? baz :
>     qux
> ok 4378 indent valid foo
>     [
>         bar
>     ]
>     .baz(function() {
>         quz();
>     })
> ok 4379 indent valid [
>     foo
> ][
>     "map"](function() {
>     qux();
> })
> ok 4380 indent valid (
>     a.b(function() {
>         c;
>     })
> )
> ok 4381 indent valid (
>     foo
> ).bar(function() {
>     baz();
> })
> ok 4382 indent valid new Foo(
>     bar
>         .baz
>         .qux
> )
> ok 4383 indent valid const foo = a.b(),
>     longName =
>         (baz(
>             'bar',
>             'bar'
>         ));
> ok 4384 indent valid const foo = a.b(),
>     longName =
>     (baz(
>         'bar',
>         'bar'
>     ));
> ok 4385 indent valid const foo = a.b(),
>     longName =
>         baz(
>             'bar',
>             'bar'
>         );
> ok 4386 indent valid const foo = a.b(),
>     longName =
>     baz(
>         'bar',
>         'bar'
>     );
> ok 4387 indent valid const foo = a.b(),
>     longName
>         = baz(
>             'bar',
>             'bar'
>         );
> ok 4388 indent valid const foo = a.b(),
>     longName
>     = baz(
>         'bar',
>         'bar'
>     );
> ok 4389 indent valid const foo = a.b(),
>     longName =
>         ('fff');
> ok 4390 indent valid const foo = a.b(),
>     longName =
>     ('fff');
> ok 4391 indent valid const foo = a.b(),
>     longName
>         = ('fff');
> ok 4392 indent valid const foo = a.b(),
>     longName
>     = ('fff');
> ok 4393 indent valid const foo = a.b(),
>     longName =
>         (
>             'fff'
>         );
> ok 4394 indent valid const foo = a.b(),
>     longName =
>     (
>         'fff'
>     );
> ok 4395 indent valid const foo = a.b(),
>     longName
>         =(
>             'fff'
>         );
> ok 4396 indent valid const foo = a.b(),
>     longName
>     =(
>         'fff'
>     );
> ok 4397 indent valid interface Foo {
>     bar: string;
>     baz: number;
> }
> ok 4398 indent valid namespace Foo {
>     const bar = 3,
>         baz = 2;
> 
>     if (true) {
>         const bax = 3;
>     }
> }
> ok 4399 indent valid abstract class Foo {
>     public bar() {
>         let aaa = 4,
>             boo;
> 
>         if (true) {
>             boo = 3;
>         }
> 
>         boo = 3 + 2;
>     }
> }
> ok 4400 indent valid function foo() {
>     function bar() {
>         abstract class X {
>             public baz() {
>                 if (true) {
>                     qux();
>                 }
>             }
>         }
>     }
> }
> ok 4401 indent valid namespace Unknown {
>     function foo() {
>         function bar() {
>             abstract class X {
>                 public baz() {
>                     if (true) {
>                         qux();
>                     }
>                 }
>             }
>         }
>     }
> }
> ok 4402 indent valid type httpMethod = 'GET'
>   | 'POST'
>   | 'PUT';
> ok 4403 indent valid type httpMethod = 'GET'
> | 'POST'
> | 'PUT';
> ok 4404 indent valid foo(`foo
>         `, {
>     ok: true
> },
> {
>     ok: false
> })
> ok 4405 indent valid foo(tag`foo
>         `, {
>     ok: true
> },
> {
>     ok: false
> }
> )
> ok 4406 indent valid async function test() {
>     const {
>         foo,
>         bar,
>     } = await doSomethingAsync(
>         1,
>         2,
>         3,
>     );
> }
> ok 4407 indent valid function* test() {
>     const {
>         foo,
>         bar,
>     } = yield doSomethingAsync(
>         1,
>         2,
>         3,
>     );
> }
> ok 4408 indent valid ({
>     a: b
> } = +foo(
>     bar
> ));
> ok 4409 indent valid const {
>     foo,
>     bar,
> } = typeof foo(
>     1,
>     2,
>     3,
> );
> ok 4410 indent valid const {
>     foo,
>     bar,
> } = +(
>     foo
> );
> ok 4411 indent valid <Foo a="b" c="d"/>;
> ok 4412 indent valid <Foo
>     a="b"
>     c="d"
> />;
> ok 4413 indent valid var foo = <Bar a="b" c="d"/>;
> ok 4414 indent valid var foo = <Bar
>     a="b"
>     c="d"
> />;
> ok 4415 indent valid var foo = (<Bar
>     a="b"
>     c="d"
> />);
> ok 4416 indent valid var foo = (
>     <Bar
>         a="b"
>         c="d"
>     />
> );
> ok 4417 indent valid <
>     Foo
>     a="b"
>     c="d"
> />;
> ok 4418 indent valid <Foo
>     a="b"
>     c="d"/>;
> ok 4419 indent valid <
>     Foo
>     a="b"
>     c="d"/>;
> ok 4420 indent valid <a href="foo">bar</a>;
> ok 4421 indent valid <a href="foo">
>     bar
> </a>;
> ok 4422 indent valid <a
>     href="foo"
> >
>     bar
> </a>;
> ok 4423 indent valid <a
>     href="foo">
>     bar
> </a>;
> ok 4424 indent valid <
>     a
>     href="foo">
>     bar
> </a>;
> ok 4425 indent valid <a
>     href="foo">
>     bar
> </
>     a>;
> ok 4426 indent valid <a
>     href="foo">
>     bar
> </a
> >;
> ok 4427 indent valid var foo = <a href="bar">
>     baz
> </a>;
> ok 4428 indent valid var foo = <a
>     href="bar"
> >
>     baz
> </a>;
> ok 4429 indent valid var foo = <a
>     href="bar">
>     baz
> </a>;
> ok 4430 indent valid var foo = <
>     a
>     href="bar">
>     baz
> </a>;
> ok 4431 indent valid var foo = <a
>     href="bar">
>     baz
> </
>     a>;
> ok 4432 indent valid var foo = <a
>     href="bar">
>     baz
> </a
> >
> ok 4433 indent valid var foo = (<a
>     href="bar">
>     baz
> </a>);
> ok 4434 indent valid var foo = (
>     <a href="bar">baz</a>
> );
> ok 4435 indent valid var foo = (
>     <a href="bar">
>         baz
>     </a>
> );
> ok 4436 indent valid var foo = (
>     <a
>         href="bar">
>         baz
>     </a>
> );
> ok 4437 indent valid var foo = <a href="bar">baz</a>;
> ok 4438 indent valid <a>
>     {
>     }
> </a>
> ok 4439 indent valid <a>
>     {
>         foo
>     }
> </a>
> ok 4440 indent valid function foo() {
>     return (
>         <a>
>             {
>                 b.forEach(() => {
>                     // comment
>                     a = c
>                         .d()
>                         .e();
>                 })
>             }
>         </a>
>     );
> }
> ok 4441 indent valid <App></App>
> ok 4442 indent valid <App>
> </App>
> ok 4443 indent valid <App>
>   <Foo />
> </App>
> ok 4444 indent valid <App>
> <Foo />
> </App>
> ok 4445 indent valid <App>
> 	<Foo />
> </App>
> ok 4446 indent valid function App() {
>   return <App>
>     <Foo />
>   </App>;
> }
> ok 4447 indent valid function App() {
>   return (<App>
>     <Foo />
>   </App>);
> }
> ok 4448 indent valid function App() {
>   return (
>     <App>
>       <Foo />
>     </App>
>   );
> }
> ok 4449 indent valid it(
>   (
>     <div>
>       <span />
>     </div>
>   )
> )
> ok 4450 indent valid it(
>   (<div>
>     <span />
>     <span />
>     <span />
>   </div>)
> )
> ok 4451 indent valid (
>   <div>
>     <span />
>   </div>
> )
> ok 4452 indent valid {
>   head.title &&
>   <h1>
>     {head.title}
>   </h1>
> }
> ok 4453 indent valid {
>   head.title &&
>     <h1>
>       {head.title}
>     </h1>
> }
> ok 4454 indent valid {
>   head.title && (
>     <h1>
>       {head.title}
>     </h1>)
> }
> ok 4455 indent valid {
>   head.title && (
>     <h1>
>       {head.title}
>     </h1>
>   )
> }
> ok 4456 indent valid [
>   <div />,
>   <div />
> ]
> ok 4457 indent valid <div>
>     {
>         [
>             <Foo />,
>             <Bar />
>         ]
>     }
> </div>
> ok 4458 indent valid <div>
>     {foo &&
>         [
>             <Foo />,
>             <Bar />
>         ]
>     }
> </div>
> ok 4459 indent valid <div>
> bar <div>
>     bar
>     bar {foo}
> bar </div>
> </div>
> ok 4460 indent valid foo ?
>     <Foo /> :
>     <Bar />
> ok 4461 indent valid foo ?
>     <Foo />
>     : <Bar />
> ok 4462 indent valid foo ?
>     <Foo />
>     :
>     <Bar />
> ok 4463 indent valid <div>
>     {!foo ?
>         <Foo
>             onClick={this.onClick}
>         />
>         :
>         <Bar
>             onClick={this.onClick}
>         />
>     }
> </div>
> ok 4464 indent valid <span>
>   {condition ?
>     <Thing
>       foo={`bar`}
>     /> :
>     <Thing/>
>   }
> </span>
> ok 4465 indent valid <span>
>   {condition ?
>     <Thing
>       foo={"bar"}
>     /> :
>     <Thing/>
>   }
> </span>
> ok 4466 indent valid function foo() {
>   <span>
>     {condition ?
>       <Thing
>         foo={bar}
>       /> :
>       <Thing/>
>     }
>   </span>
> }
> ok 4467 indent valid <App foo
> />
> ok 4468 indent valid <App
>   foo
> />
> ok 4469 indent valid <App
> foo
> />
> ok 4470 indent valid <App
> 	foo
> />
> ok 4471 indent valid <App
>     foo
> />
> ok 4472 indent valid <App
>     foo
> ></App>
> ok 4473 indent valid <App
>   foo={function() {
>     console.log('bar');
>   }}
> />
> ok 4474 indent valid <App foo={function() {
>   console.log('bar');
> }}
> />
> ok 4475 indent valid var x = function() {
>   return <App
>     foo={function() {
>       console.log('bar');
>     }}
>   />
> }
> ok 4476 indent valid var x = <App
>   foo={function() {
>     console.log('bar');
>   }}
> />
> ok 4477 indent valid <Provider
>   store
> >
>   <App
>     foo={function() {
>       console.log('bar');
>     }}
>   />
> </Provider>
> ok 4478 indent valid <Provider
>   store
> >
>   {baz && <App
>     foo={function() {
>       console.log('bar');
>     }}
>   />}
> </Provider>
> ok 4479 indent valid <App
> 	foo
> />
> ok 4480 indent valid <App
> 	foo
> ></App>
> ok 4481 indent valid <App foo={function() {
> 	console.log('bar');
> }}
> />
> ok 4482 indent valid var x = <App
> 	foo={function() {
> 		console.log('bar');
> 	}}
> />
> ok 4483 indent valid <App
>     foo />
> ok 4484 indent valid <div>
>    unrelated{
>         foo
>     }
> </div>
> ok 4485 indent valid <div>unrelated{
>     foo
> }
> </div>
> ok 4486 indent valid <
>     foo
>         .bar
>         .baz
> >
>     foo
> </
>     foo.
>         bar.
>         baz
> >
> ok 4487 indent valid <
>     input
>     type=
>         "number"
> />
> ok 4488 indent valid <
>     input
>     type=
>         {'number'}
> />
> ok 4489 indent valid <
>     input
>     type
>         ="number"
> />
> ok 4490 indent valid foo ? (
>     bar
> ) : (
>     baz
> )
> ok 4491 indent valid foo ? (
>     <div>
>     </div>
> ) : (
>     <span>
>     </span>
> )
> ok 4492 indent valid <div>
>     {
>         /* foo */
>     }
> </div>
> ok 4493 indent valid <div>
>     {
>         (
>             1
>         )
>     }
> </div>
> ok 4494 indent valid function A() {
>     return (
>         <div>
>             {
>                 b && (
>                     <div>
>                     </div>
>                 )
>             }
>         </div>
>     );
> }
> ok 4495 indent valid <div>foo
>     <div>bar</div>
> </div>
> ok 4496 indent valid <small>Foo bar 
>     <a>baz qux</a>.
> </small>
> ok 4497 indent valid a(b
>   , c
> )
> ok 4498 indent valid a(
>   new B({
>     c,
>   })
> );
> ok 4499 indent valid foo
> ? bar
>             : baz
> ok 4500 indent valid class Foo {
> foo() {
>     bar();
> }
> }
> ok 4501 indent valid class Foo {
> foo() {
> bar();
> }
> }
> ok 4502 indent valid foo({
>         bar: 1
>     },
>     {
>         baz: 2
>     },
>     {
>         qux: 3
> })
> ok 4503 indent valid foo
>                             .bar
> ok 4504 indent valid $(function() {
> 
> foo();
> bar();
> 
> });
> ok 4505 indent valid <Foo
>             bar="1" />
> ok 4506 indent valid foo &&
> <Bar
> >
> </Bar>
> ok 4507 indent valid (function($) {
> $(function() {
>     foo;
> });
> }())
> ok 4508 indent valid const value = (
>     condition ?
>     valueIfTrue :
>     valueIfFalse
> );
> ok 4509 indent valid var a = 0, b = 0, c = 0;
> export default foo(
>     a,
>     b, {
>     c
>     }
> )
> ok 4510 indent valid foobar = baz
>        ? qux
>        : boop
> ok 4511 indent valid `
>     SELECT
>         ${
>             foo
>         } FROM THE_DATABASE
> `
> ok 4512 indent valid <foo
>     prop='bar'
>     >
>     Text
> </foo>
> ok 4513 indent valid {
> 	var x = 1,
> 	    y = 2;
> }
> ok 4514 indent valid var x = 1,
>     y = 2;
> var z;
> ok 4515 indent valid [
>     foo(),
>     bar
> ]
> ok 4516 indent valid if (foo) {
>     doSomething();
> 
> // Intentionally unindented comment
>     doSomethingElse();
> }
> ok 4517 indent valid if (foo) {
>     doSomething();
> 
> /* Intentionally unindented comment */
>     doSomethingElse();
> }
> ok 4518 indent valid const obj = {
>     foo () {
>         return condition ? // comment
>             1 :
>             2
>     }
> }
> ok 4519 indent valid if (foo) {
> // Comment can align with code immediately above even if "incorrect" alignment
>     doSomething();
> }
> ok 4520 indent valid if (foo) {
>     doSomething();
> // Comment can align with code immediately below even if "incorrect" alignment
> }
> ok 4521 indent valid if (foo) {
>     // Comment can be in correct alignment even if not aligned with code above/below
> }
> ok 4522 indent valid if (foo) {
> 
>     // Comment can be in correct alignment even if gaps between (and not aligned with) code above/below
> 
> }
> ok 4523 indent valid [{
>     foo
> },
> 
> // Comment between nodes
> 
> {
>     bar
> }];
> ok 4524 indent valid [{
>     foo
> },
> 
> // Comment between nodes
> 
> { // comment
>     bar
> }];
> ok 4525 indent invalid var a = b;
> if (a) {
> b();
> }
> ok 4526 indent invalid require('http').request({hostname: 'localhost',
>                   port: 80}, function(res) {
>     res.end();
>   });
> ok 4527 indent invalid if (array.some(function(){
>   return true;
> })) {
> a++; // ->
>   b++;
>     c++; // <-
> }
> ok 4528 indent invalid if (a){
> 	b=c;
> 		c=d;
> e=f;
> }
> ok 4529 indent invalid if (a){
>     b=c;
>       c=d;
>  e=f;
> }
> ok 4530 indent invalid if (a) {
>   var b = c;
>   var d = e
>     * f;
>     var e = f; // <-
> // ->
>   function g() {
>     if (h) {
>       var i = j;
>       } // <-
>     } // <-
> 
>   while (k) l++;
>   while (m) {
>   n--; // ->
>     } // <-
> 
>   do {
>     o = p +
>   q; // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
>     o = p +
>     q;
>     } while(r); // <-
> 
>   for (var s in t) {
>     u++;
>   }
> 
>     for (;;) {
>       v++; // <-
>   }
> 
>   if ( w ) {
>     x++;
>   } else if (y) {
>       z++; // <-
>     aa++;
>     } else { // <-
>   bb++; // ->
> } // ->
> }
> 
> /**/var b; // NO ERROR: single line multi-line comments followed by code is OK
> /*
>  *
>  */ var b; // NO ERROR: multi-line comments followed by code is OK
> 
> var arr = [
>   a,
>   b,
>   c,
>   function (){
>     d
>     }, // <-
>   {},
>   {
>     a: b,
>     c: d,
>     d: e
>   },
>   [
>     f,
>     g,
>     h,
>     i
>   ],
>   [j]
> ];
> 
> var obj = {
>   a: {
>     b: {
>       c: d,
>       e: f,
>       g: h +
>     i // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
>     }
>   },
>   g: [
>     h,
>     i,
>     j,
>     k
>   ]
> };
> 
> var arrObject = {a:[
>   a,
>   b, // NO ERROR: INDENT ONCE WHEN MULTIPLE INDENTED EXPRESSIONS ARE ON SAME LINE
>   c
> ]};
> 
> var objArray = [{
>   a: b,
>   b: c, // NO ERROR: INDENT ONCE WHEN MULTIPLE INDENTED EXPRESSIONS ARE ON SAME LINE
>   c: d
> }];
> 
> var arrArray = [[
>   a,
>   b, // NO ERROR: INDENT ONCE WHEN MULTIPLE INDENTED EXPRESSIONS ARE ON SAME LINE
>   c
> ]];
> 
> var objObject = {a:{
>   a: b,
>   b: c, // NO ERROR: INDENT ONCE WHEN MULTIPLE INDENTED EXPRESSIONS ARE ON SAME LINE
>   c: d
> }};
> 
> 
> switch (a) {
>   case 'a':
>   var a = 'b'; // ->
>     break;
>   case 'b':
>     var a = 'b';
>     break;
>   case 'c':
>       var a = 'b'; // <-
>     break;
>   case 'd':
>     var a = 'b';
>   break; // ->
>   case 'f':
>     var a = 'b';
>     break;
>   case 'g':     {
>     var a = 'b';
>     break;
>   }
>   case 'z':
>   default:
>       break; // <-
> }
> 
> a.b('hi')
>    .c(a.b()) // <-
>    .d(); // <-
> 
> if ( a ) {
>   if ( b ) {
> d.e(f) // ->
>   .g() // ->
>   .h(); // ->
> 
>     i.j(m)
>       .k() // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
>       .l(); // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
> 
>       n.o(p) // <-
>         .q() // <-
>         .r(); // <-
>   }
> }
> 
> var a = b,
>   c = function () {
>   h = i; // ->
>     j = k;
>       l = m; // <-
>   },
>   e = {
>     f: g,
>     n: o,
>     p: q
>   },
>   r = [
>     s,
>     t,
>     u
>   ];
> 
> var a = function () {
> b = c; // ->
>   d = e;
>     f = g; // <-
> };
> 
> function c(a, b) {
>   if (a || (a &&
>             b)) { // NO ERROR: DON'T VALIDATE MULTILINE STATEMENTS
>     return d;
>   }
> }
> 
> if ( a
>   || b ) {
> var x; // ->
>   var c,
>     d = function(a,
>                   b) { // <-
>     a; // ->
>       b;
>         c; // <-
>     }
> }
> 
> 
> a({
>   d: 1
> });
> 
> a(
> 1
> );
> 
> a(
>   b({
>     d: 1
>   })
> );
> 
> a(
>   b(
>     c({
>       d: 1,
>       e: 1,
>       f: 1
>     })
>   )
> );
> 
> a({ d: 1 });
> 
> aa(
>    b({ // NO ERROR: CallExpression args not linted by default
>     c: d, // ->
>      e: f,
>      f: g
>   }) // ->
> );
> 
> aaaaaa(
>   b,
>   c,
>   {
>     d: a
>   }
> );
> 
> a(b, c,
>   d, e,
>     f, g  // NO ERROR: alignment of arguments of callExpression not checked
>   );  // <-
> 
> a(
>   ); // <-
> 
> aaaaaa(
>   b,
>   c, {
>     d: a
>   }, {
>     e: f
>   }
> );
> 
> a.b()
>   .c(function(){
>     var a;
>   }).d.e;
> 
> if (a == 'b') {
>   if (c && d) e = f
>   else g('h').i('j')
> }
> 
> a = function (b, c) {
>   return a(function () {
>     var d = e
>     var f = g
>     var h = i
> 
>     if (!j) k('l', (m = n))
>     if (o) p
>     else if (q) r
>   })
> }
> 
> var a = function() {
>   "b"
>     .replace(/a/, "a")
>     .replace(/bc?/, function(e) {
>       return "b" + (e.f === 2 ? "c" : "f");
>     })
>     .replace(/d/, "d");
> };
> 
> $(b)
>   .on('a', 'b', function() { $(c).e('f'); })
>   .on('g', 'h', function() { $(i).j('k'); });
> 
> a
>   .b('c',
>            'd'); // NO ERROR: CallExpression args not linted by default
> 
> a
>   .b('c', [ 'd', function(e) {
>     e++;
>   }]);
> 
> var a = function() {
>       a++;
>     b++; // <-
>         c++; // <-
>     },
>     b;
> 
> var b = [
>       a,
>       b,
>       c
>     ],
>     c;
> 
> var c = {
>       a: 1,
>       b: 2,
>       c: 3
>     },
>     d;
> 
> // holes in arrays indentation
> x = [
>  1,
>  1,
>  1,
>  1,
>  1,
>  1,
>  1,
>  1,
>  1,
>  1
> ];
> 
> try {
>   a++;
>     b++; // <-
> c++; // ->
> } catch (d) {
>   e++;
>     f++; // <-
> g++; // ->
> } finally {
>   h++;
>     i++; // <-
> j++; // ->
> }
> 
> if (array.some(function(){
>   return true;
> })) {
> a++; // ->
>   b++;
>     c++; // <-
> }
> 
> var a = b.c(function() {
>       d++;
>     }),
>     e;
> 
> switch (true) {
>   case (a
>   && b):
> case (c // ->
> && d):
>     case (e // <-
>     && f):
>   case (g
> && h):
>       var i = j; // <-
>     var k = l;
>   var m = n; // ->
> }
> 
> if (a) {
>   b();
> }
> else {
> c(); // ->
>   d();
>     e(); // <-
> }
> 
> if (a) b();
> else {
> c(); // ->
>   d();
>     e(); // <-
> }
> 
> if (a) {
>   b();
> } else c();
> 
> if (a) {
>   b();
> }
> else c();
> 
> a();
> 
> if( "very very long multi line" +
>       "with weird indentation" ) {
>   b();
> a(); // ->
>     c(); // <-
> }
> 
> a( "very very long multi line" +
>     "with weird indentation", function() {
>   b();
> a(); // ->
>     c(); // <-
>     }); // <-
> 
> a = function(content, dom) {
>   b();
>     c(); // <-
> d(); // ->
> };
> 
> a = function(content, dom) {
>       b();
>         c(); // <-
>     d(); // ->
>     };
> 
> a = function(content, dom) {
>     b(); // ->
>     };
> 
> a = function(content, dom) {
> b(); // ->
>     };
> 
> a('This is a terribly long description youll ' +
>   'have to read', function () {
>     b(); // <-
>     c(); // <-
>   }); // <-
> 
> if (
>   array.some(function(){
>     return true;
>   })
> ) {
> a++; // ->
>   b++;
>     c++; // <-
> }
> 
> function c(d) {
>   return {
>     e: function(f, g) {
>     }
>   };
> }
> 
> function a(b) {
>   switch(x) {
>     case 1:
>       if (foo) {
>         return 5;
>       }
>   }
> }
> 
> function a(b) {
>   switch(x) {
>     case 1:
>       c;
>   }
> }
> 
> function a(b) {
>   switch(x) {
>     case 1: c;
>   }
> }
> 
> function test() {
>   var a = 1;
>   {
>     a();
>   }
> }
> 
> {
>   a();
> }
> 
> function a(b) {
>   switch(x) {
>     case 1:
>         { // <-
>       a(); // ->
>       }
>       break;
>     default:
>       {
>         b();
>         }
>   }
> }
> 
> switch (a) {
>   default:
>     if (b)
>       c();
> }
> 
> function test(x) {
>   switch (x) {
>     case 1:
>       return function() {
>         var a = 5;
>         return a;
>       };
>   }
> }
> 
> switch (a) {
>   default:
>     if (b)
>       c();
> }
> 
> ok 4531 indent invalid switch(value){
>     case "1":
>         a();
>     break;
>     case "2":
>         a();
>     break;
>     default:
>         a();
>         break;
> }
> ok 4532 indent invalid var x = 0 &&
>     {
>        a: 1,
>           b: 2
>     };
> ok 4533 indent invalid switch(value){
>     case "1":
>         a();
>         break;
>     case "2":
>         a();
>         break;
>     default:
>     break;
> }
> ok 4534 indent invalid switch(value){
>     case "1":
>     case "2":
>         a();
>         break;
>     default:
>         break;
> }
> switch(value){
>     case "1":
>     break;
>     case "2":
>         a();
>     break;
>     default:
>         a();
>     break;
> }
> ok 4535 indent invalid switch(value){
> case "1":
>         a();
>         break;
>     case "2":
>         break;
>     default:
>         break;
> }
> ok 4536 indent invalid var obj = {foo: 1, bar: 2};
> with (obj) {
> console.log(foo + bar);
> }
> ok 4537 indent invalid switch (a) {
> case '1':
> b();
> break;
> default:
> c();
> break;
> }
> ok 4538 indent invalid var foo = function(){
>     foo
>           .bar
> }
> ok 4539 indent invalid (
>     foo
>     .bar
> )
> ok 4540 indent invalid var foo = function(){
>     foo
>              .bar
> }
> ok 4541 indent invalid var foo = () => {
>     foo
>              .bar
> }
> ok 4542 indent invalid TestClass.prototype.method = function () {
>   return Promise.resolve(3)
>       .then(function (x) {
>       return x;
>     });
> };
> ok 4543 indent invalid while (a)
> b();
> ok 4544 indent invalid lmn = [{
>         a: 1
>     },
>     {
>         b: 2
>     },
>     {
>         x: 2
> }];
> ok 4545 indent invalid for (var foo = 1;
> foo < 10;
> foo++) {}
> ok 4546 indent invalid for (
> var foo = 1;
> foo < 10;
> foo++
>     ) {}
> ok 4547 indent invalid for (;;)
> b();
> ok 4548 indent invalid for (a in x)
> b();
> ok 4549 indent invalid do
> b();
> while(true)
> ok 4550 indent invalid if(true)
> b();
> ok 4551 indent invalid var test = {
>       a: 1,
>     b: 2
>     };
> ok 4552 indent invalid var a = function() {
>       a++;
>     b++;
>           c++;
>     },
>     b;
> ok 4553 indent invalid var a = 1,
> b = 2,
> c = 3;
> ok 4554 indent invalid [a, b,
>     c].forEach((index) => {
>         index;
>     });
> ok 4555 indent invalid [a, b,
> c].forEach(function(index){
>   return index;
> });
> ok 4556 indent invalid [a, b, c].forEach(function(index){
>   return index;
> });
> ok 4557 indent invalid (foo)
>     .bar([
>     baz
> ]);
> ok 4558 indent invalid var x = ['a',
>          'b',
>          'c'
> ];
> ok 4559 indent invalid var x = [
>          'a',
>          'b',
>          'c'
> ];
> ok 4560 indent invalid var x = [
>          'a',
>          'b',
>          'c',
> 'd'];
> ok 4561 indent invalid var x = [
>          'a',
>          'b',
>          'c'
>   ];
> ok 4562 indent invalid [[
> ], function(
>         foo
>     ) {}
> ]
> ok 4563 indent invalid define([
>     'foo'
> ], function(
>         bar
>     ) {
>     baz;
> }
> )
> ok 4564 indent invalid while (1 < 2)
> console.log('foo')
>   console.log('bar')
> ok 4565 indent invalid function salutation () {
>   switch (1) {
>   case 0: return console.log('hi')
>     case 1: return console.log('hey')
>   }
> }
> ok 4566 indent invalid var geometry, box, face1, face2, colorT, colorB, sprite, padding, maxWidth,
> height, rotate;
> ok 4567 indent invalid switch (a) {
> case '1':
> b();
> break;
> default:
> c();
> break;
> }
> ok 4568 indent invalid var geometry,
> rotate;
> ok 4569 indent invalid var geometry,
>   rotate;
> ok 4570 indent invalid var geometry,
> 	rotate;
> ok 4571 indent invalid let geometry,
>   rotate;
> ok 4572 indent invalid let foo = 'foo',
>   bar = bar;
> const a = 'a',
>   b = 'b';
> ok 4573 indent invalid var foo = 'foo',
>   bar = bar;
> ok 4574 indent invalid if(true)
>   if (true)
>     if (true)
>     console.log(val);
> ok 4575 indent invalid var a = {
>     a: 1,
>     b: 2
> }
> ok 4576 indent invalid var a = [
>     a,
>     b
> ]
> ok 4577 indent invalid let a = [
>     a,
>     b
> ]
> ok 4578 indent invalid var a = new Test({
>       a: 1
>   }),
>     b = 4;
> ok 4579 indent invalid var a = new Test({
>       a: 1
>     }),
>     b = 4;
> const c = new Test({
>       a: 1
>     }),
>     d = 4;
> ok 4580 indent invalid var abc = 5,
>     c = 2,
>     xyz =
>     {
>       a: 1,
>        b: 2
>     };
> ok 4581 indent invalid var abc =
>      {
>        a: 1,
>         b: 2
>      };
> ok 4582 indent invalid var foo = {
>     bar: 1,
>     baz: {
>         qux: 2
>       }
>   },
>   bar = 1;
> ok 4583 indent invalid var path     = require('path')
>  , crypto    = require('crypto')
> ;
> ok 4584 indent invalid var a = 1
>    ,b = 2
> ;
> ok 4585 indent invalid class A{
>   constructor(){}
>     a(){}
>     get b(){}
> }
> ok 4586 indent invalid var A = class {
>   constructor(){}
>     a(){}
>   get b(){}
> };
> ok 4587 indent invalid var a = 1,
>     B = class {
>     constructor(){}
>       a(){}
>       get b(){}
>     };
> ok 4588 indent invalid {
>     if(a){
>         foo();
>     }
>   else{
>         bar();
>     }
> }
> ok 4589 indent invalid {
>     if(a){
>         foo();
>     }
>   else
>         bar();
> 
> }
> ok 4590 indent invalid {
>     if(a)
>         foo();
>   else
>         bar();
> }
> ok 4591 indent invalid (function(){
>   function foo(x) {
>     return x + 1;
>   }
> })();
> ok 4592 indent invalid (function(){
>     function foo(x) {
>         return x + 1;
>     }
> })();
> ok 4593 indent invalid if(data) {
> console.log('hi');
> }
> ok 4594 indent invalid var ns = function(){
>     function fooVar(x) {
>         return x + 1;
>     }
> }(x);
> ok 4595 indent invalid var obj = {
>   foo: function() {
>   return true;
>   }()
> };
> ok 4596 indent invalid typeof function() {
>     function fooVar(x) {
>       return x + 1;
>     }
> }();
> ok 4597 indent invalid {
> 	!function(x) {
> 				return x + 1;
> 	}()
> };
> ok 4598 indent invalid Buffer
> .toString()
> ok 4599 indent invalid Buffer
>     .indexOf('a')
> .toString()
> ok 4600 indent invalid Buffer.
> length
> ok 4601 indent invalid Buffer.
> 		length
> ok 4602 indent invalid Buffer
>   .foo
>   .bar
> ok 4603 indent invalid function foo() {
>     new
>     .target
> }
> ok 4604 indent invalid function foo() {
>     new.
>     target
> }
> ok 4605 indent invalid if (foo) bar();
> else if (baz) foobar();
>   else if (qux) qux();
> ok 4606 indent invalid if (foo) bar();
> else if (baz) foobar();
>   else qux();
> ok 4607 indent invalid foo();
>   if (baz) foobar();
>   else qux();
> ok 4608 indent invalid if (foo) bar();
> else if (baz) foobar();
>      else if (bip) {
>        qux();
>      }
> ok 4609 indent invalid if (foo) bar();
> else if (baz) {
>     foobar();
>      } else if (boop) {
>        qux();
>      }
> ok 4610 indent invalid function foo(aaa,
>     bbb, ccc, ddd) {
>       bar();
> }
> ok 4611 indent invalid function foo(aaa, bbb,
>   ccc, ddd) {
> bar();
> }
> ok 4612 indent invalid function foo(aaa,
>         bbb,
>   ccc) {
>       bar();
> }
> ok 4613 indent invalid function foo(aaa,
>   bbb, ccc,
>                    ddd, eee, fff) {
>    bar();
> }
> ok 4614 indent invalid function foo(aaa, bbb)
> {
> bar();
> }
> ok 4615 indent invalid function foo(
> aaa,
>     bbb) {
> bar();
> }
> ok 4616 indent invalid var foo = function(aaa,
>   bbb,
>     ccc,
>       ddd) {
>   bar();
> }
> ok 4617 indent invalid var foo = function(aaa,
>    bbb,
>  ccc) {
>   bar();
> }
> ok 4618 indent invalid var foo = function(aaa,
>   bbb, ccc, ddd,
>                         eee, fff) {
>         bar();
> }
> ok 4619 indent invalid var foo = function(
> aaa, bbb, ccc,
>     ddd, eee) {
>   bar();
> }
> ok 4620 indent invalid var foo = bar;
> 			var baz = qux;
> ok 4621 indent invalid function foo() {
> 	bar();
>   baz();
>               qux();
> }
> ok 4622 indent invalid function foo() {
>   bar();
> 		}
> ok 4623 indent invalid function foo() {
>   function bar() {
>         baz();
>   }
> }
> ok 4624 indent invalid function foo() {
>   function bar(baz,
>     qux) {
>     foobar();
>   }
> }
> ok 4625 indent invalid function foo() {
>   var bar = function(baz,
>           qux) {
>     foobar();
>   };
> }
> ok 4626 indent invalid foo.bar(
>       baz, qux, function() {
>         qux;
>       }
> );
> ok 4627 indent invalid {
>     try {
>     }
> catch (err) {
>     }
> finally {
>     }
> }
> ok 4628 indent invalid {
>     do {
>     }
> while (true)
> }
> ok 4629 indent invalid function foo() {
>   return (
>     1
>     )
> }
> ok 4630 indent invalid function foo() {
>   return (
>     1
>     );
> }
> ok 4631 indent invalid function test(){
>   switch(length){
>     case 1: return function(a){
>     return fn.call(that, a);
>     };
>   }
> }
> ok 4632 indent invalid function foo() {
>    return 1
> }
> ok 4633 indent invalid foo(
> bar,
>   baz,
>     qux);
> ok 4634 indent invalid foo(
> 	bar,
> 	baz);
> ok 4635 indent invalid foo(bar,
> 		baz,
> 		qux);
> ok 4636 indent invalid foo(bar, baz,
>          qux);
> ok 4637 indent invalid foo(
>           bar,
>     baz);
> ok 4638 indent invalid foo(bar,
>   1 + 2,
>               !baz,
>         new Car('!')
> );
> ok 4639 indent invalid return (
>     foo
>     );
> ok 4640 indent invalid return (
>     foo
>     )
> ok 4641 indent invalid if (foo) {
>         /* comment */bar();
> }
> ok 4642 indent invalid foo('bar',
>         /** comment */{
>         ok: true
>     });
> ok 4643 indent invalid foo(
> (bar)
> );
> ok 4644 indent invalid ((
> foo
> ))
> ok 4645 indent invalid foo
> ? bar
>     : baz
> ok 4646 indent invalid [
>     foo ?
>         bar :
>         baz,
>         qux
> ]
> ok 4647 indent invalid foo();
>   // comment
>     /* multiline
>   comment */
> bar();
>  // trailing comment
> ok 4648 indent invalid   // comment
> ok 4649 indent invalid foo
>   // comment
> ok 4650 indent invalid   // comment
> foo
> ok 4651 indent invalid [
>         // no elements
> ]
> ok 4652 indent invalid var {
> foo,
>   bar,
>     baz: qux,
>       foobar: baz = foobar
>   } = qux;
> ok 4653 indent invalid const {
>   a
> } = {
>     a: 1
>   }
> ok 4654 indent invalid var foo = [
>            bar,
>   baz
>           ]
> ok 4655 indent invalid var foo = [bar,
> baz,
>     qux
> ]
> ok 4656 indent invalid var foo = [bar,
>   baz,
>   qux
> ]
> ok 4657 indent invalid var foo = [bar,
>   baz,
>   qux
> ]
> ok 4658 indent invalid var foo = [bar,
>     baz,
>     qux
> ]
> ok 4659 indent invalid var foo = [bar,
>     baz, qux
> ]
> ok 4660 indent invalid var foo = [
>         { bar: 1,
>             baz: 2 },
>         { bar: 3,
>             qux: 4 }
> ]
> ok 4661 indent invalid var foo = {
>   bar: 1,
>   baz: 2
> };
> ok 4662 indent invalid var quux = { foo: 1, bar: 2,
> baz: 3 }
> ok 4663 indent invalid function foo() {
>     [
>             foo
>     ]
> }
> ok 4664 indent invalid var [
> foo,
>   bar,
>     baz,
>       foobar = baz
>   ] = qux;
> ok 4665 indent invalid import {
> foo,
>   bar,
>     baz
> } from 'qux';
> ok 4666 indent invalid import { foo,
>          bar,
>           baz,
> } from 'qux';
> ok 4667 indent invalid import { foo,
>     bar,
>      baz,
> } from 'qux';
> ok 4668 indent invalid var foo = 0, bar = 0, baz = 0;
> export {
> foo,
>   bar,
>     baz
> };
> ok 4669 indent invalid var foo = 0, bar = 0, baz = 0;
> export {
> foo,
>   bar,
>     baz
> } from 'qux';
> ok 4670 indent invalid var folder = filePath
>   .foo()
>       .bar;
> ok 4671 indent invalid for (const foo of bar)
>     baz();
> ok 4672 indent invalid var x = () =>
>     5;
> ok 4673 indent invalid foo && (
>         bar
> )
> ok 4674 indent invalid foo &&
>     !bar(
> )
> ok 4675 indent invalid foo &&
>     ![].map(() => {
>     bar();
> })
> ok 4676 indent invalid [
> ] || [
>     ]
> ok 4677 indent invalid foo
>         || (
>                 bar
>             )
> ok 4678 indent invalid 1
> + (
>         1
>     )
> ok 4679 indent invalid `foo${
> bar}`
> ok 4680 indent invalid `foo${
>     `bar${
> baz}`}`
> ok 4681 indent invalid `foo${
>     `bar${
>   baz
>     }`
>   }`
> ok 4682 indent invalid `foo${
> (
>   bar
> )
> }`
> ok 4683 indent invalid function foo() {
>     `foo${bar}baz${
> qux}foo${
>   bar}baz`
> }
> ok 4684 indent invalid function foo() {
>     const template = `the indentation of
> a curly element in a ${
>         node.type
>     } node is checked.`;
> }
> ok 4685 indent invalid function foo() {
>     const template = `this time the
> closing curly is at the end of the line ${
>             foo}
>         so the spaces before this line aren't removed.`;
> }
> ok 4686 indent invalid if (true) {
>     a = (
> 1 +
>         2);
> }
> ok 4687 indent invalid if (true) {
>     for (;;) {
>       b();
>   }
> }
> ok 4688 indent invalid function f() {
>     return asyncCall()
>     .then(
>                'some string',
>               [
>               1,
>          2,
>                                    3
>                       ]
> );
>  }
> ok 4689 indent invalid var x = [
>       [1],
>   [2]
> ]
> ok 4690 indent invalid var y = [
>       {a: 1},
>   {b: 2}
> ]
> ok 4691 indent invalid echo = spawn('cmd.exe',
>             ['foo', 'bar',
>              'baz']);
> ok 4692 indent invalid foo(
>   )
> ok 4693 indent invalid foo(
>         bar,
>     {
>         baz: 1
>     }
> )
> ok 4694 indent invalid   new Foo
> ok 4695 indent invalid var foo = 0, bar = 0, baz = 0;
> export {
> foo,
>         bar,
>   baz
> }
> ok 4696 indent invalid foo
>     ? bar
> : baz
> ok 4697 indent invalid foo ?
>     bar :
> baz
> ok 4698 indent invalid foo ?
>     bar
>   : baz
> ok 4699 indent invalid foo
>     ? bar :
> baz
> ok 4700 indent invalid foo ? bar
>     : baz ? qux
>         : foobar ? boop
>             : beep
> ok 4701 indent invalid foo ? bar :
>     baz ? qux :
>         foobar ? boop :
>             beep
> ok 4702 indent invalid var a =
>     foo ? bar :
>       baz ? qux :
>   foobar ? boop :
>     /*else*/ beep
> ok 4703 indent invalid var a =
>     foo
>     ? bar
>     : baz
> ok 4704 indent invalid foo ? bar
>     : baz ? qux
>     : foobar ? boop
>     : beep
> ok 4705 indent invalid foo ? bar :
>     baz ? qux :
>     foobar ? boop :
>     beep
> ok 4706 indent invalid foo
>     ? bar
>     : baz
>     ? qux
>     : foobar
>     ? boop
>     : beep
> ok 4707 indent invalid foo ?
>     bar :
>     baz ?
>     qux :
>     foobar ?
>     boop :
>     beep
> ok 4708 indent invalid foo.bar('baz', function(err) {
>           qux;
> });
> ok 4709 indent invalid foo.bar(function() {
>   cookies;
> }).baz(function() {
>     cookies;
>   });
> ok 4710 indent invalid foo.bar().baz(function() {
>   cookies;
> }).qux(function() {
>     cookies;
>   });
> ok 4711 indent invalid [ foo,
>   bar ].forEach(function() {
>     baz;
>   })
> ok 4712 indent invalid foo[
>     bar
>     ];
> ok 4713 indent invalid foo({
> bar: 1,
> baz: 2
> })
> ok 4714 indent invalid foo(
>                         bar, baz,
>                         qux);
> ok 4715 indent invalid if (foo) bar()
> 
>     ; [1, 2, 3].map(baz)
> ok 4716 indent invalid if (foo)
> ;
> ok 4717 indent invalid import {foo}
> from 'bar';
> ok 4718 indent invalid export {foo}
> from 'bar';
> ok 4719 indent invalid (
>     a
> ) => b => {
>         c
>     }
> ok 4720 indent invalid (
>     a
> ) => b => c => d => {
>         e
>     }
> ok 4721 indent invalid if (
>     foo
> ) bar(
>         baz
>     );
> ok 4722 indent invalid (
>     foo
> )(
>         bar
>     )
> ok 4723 indent invalid (() =>
>     foo
> )(
>         bar
>     )
> ok 4724 indent invalid (() => {
>     foo();
> })(
>         bar
>     )
> ok 4725 indent invalid foo.
>   bar.
>       baz
> ok 4726 indent invalid const foo = a.b(),
>     longName
>     = (baz(
>             'bar',
>             'bar'
>         ));
> ok 4727 indent invalid const foo = a.b(),
>     longName =
>     (baz(
>             'bar',
>             'bar'
>         ));
> ok 4728 indent invalid const foo = a.b(),
>     longName
>         =baz(
>             'bar',
>             'bar'
>     );
> ok 4729 indent invalid const foo = a.b(),
>     longName
>         =(
>         'fff'
>         );
> ok 4730 indent invalid namespace Foo {
>     const bar = 3,
>     baz = 2;
> 
>     if (true) {
>     const bax = 3;
>     }
> }
> ok 4731 indent invalid abstract class Foo {
>     public bar() {
>         let aaa = 4,
>         boo;
> 
>         if (true) {
>         boo = 3;
>         }
> 
>     boo = 3 + 2;
>     }
> }
> ok 4732 indent invalid function foo() {
>     function bar() {
>         abstract class X {
>         public baz() {
>         if (true) {
>         qux();
>         }
>         }
>         }
>     }
> }
> ok 4733 indent invalid namespace Unknown {
>     function foo() {
>     function bar() {
>             abstract class X {
>                 public baz() {
>                     if (true) {
>                     qux();
>                     }
>                 }
>             }
>         }
>     }
> }
> ok 4734 indent invalid <App>
>   <Foo />
> </App>
> ok 4735 indent invalid <App>
>     <Foo />
> </App>
> ok 4736 indent invalid <App>
>     <Foo />
> </App>
> ok 4737 indent invalid function App() {
>   return <App>
>     <Foo />
>          </App>;
> }
> ok 4738 indent invalid function App() {
>   return (<App>
>     <Foo />
>     </App>);
> }
> ok 4739 indent invalid function App() {
>   return (
> <App>
>   <Foo />
> </App>
>   );
> }
> ok 4740 indent invalid <App>
>  {test}
> </App>
> ok 4741 indent invalid <App>
>     {options.map((option, index) => (
>         <option key={index} value={option.key}>
>            {option.name}
>         </option>
>     ))}
> </App>
> ok 4742 indent invalid [
>   <div />,
>     <div />
> ]
> ok 4743 indent invalid <App>
> 
>  <Foo />
> 
> </App>
> ok 4744 indent invalid foo ?
>     <Foo /> :
> <Bar />
> ok 4745 indent invalid foo ?
>     <Foo />
> :
> <Bar />
> ok 4746 indent invalid foo ? (
>     <Foo />
> ) :
> <Bar />
> ok 4747 indent invalid <App
>   foo
> />
> ok 4748 indent invalid <App
>   foo
>   />
> ok 4749 indent invalid <App
>   foo
>   ></App>
> ok 4750 indent invalid const Button = function(props) {
>   return (
>     <Button
>       size={size}
>       onClick={onClick}
>                                     >
>       Button Text
>     </Button>
>   );
> };
> ok 4751 indent invalid var x = function() {
>   return <App
>     foo
>          />
> }
> ok 4752 indent invalid var x = <App
>   foo
>         />
> ok 4753 indent invalid var x = (
>   <Something
>     />
> )
> ok 4754 indent invalid <App
> 	foo
> 	/>
> ok 4755 indent invalid <App
> 	foo
> 	></App>
> ok 4756 indent invalid <
>     foo
>     .bar
>     .baz
> >
>     foo
> </
>     foo.
>     bar.
>     baz
> >
> ok 4757 indent invalid <
>     input
>     type=
>     "number"
> />
> ok 4758 indent invalid <
>     input
>     type=
>     {'number'}
> />
> ok 4759 indent invalid <
>     input
>     type
>     ="number"
> />
> ok 4760 indent invalid foo ? (
>     bar
> ) : (
>         baz
>     )
> ok 4761 indent invalid foo ? (
>     <div>
>     </div>
> ) : (
>         <span>
>         </span>
>     )
> ok 4762 indent invalid <div>
>     {
>     (
>         1
>     )
>     }
> </div>
> ok 4763 indent invalid <div>
>     {
>       /* foo */
>     }
> </div>
> ok 4764 indent invalid <div>foo
> <div>bar</div>
> </div>
> ok 4765 indent invalid <small>Foo bar 
> <a>baz qux</a>.
> </small>
> ok 4766 indent invalid ({
>     foo
>     }: bar) => baz
> ok 4767 indent invalid ([
>     foo
>     ]: bar) => baz
> ok 4768 indent invalid ({
>     foo
>     }: {}) => baz
> ok 4769 indent invalid class Foo {
> foo() {
> bar();
> }
> }
> ok 4770 indent invalid $(function() {
> 
> foo();
> bar();
> 
> foo(function() {
> baz();
> });
> 
> });
> ok 4771 indent invalid (function($) {
> $(function() {
> foo;
> });
> })()
> ok 4772 indent invalid if (foo) {
>     doSomething();
> 
> // Intentionally unindented comment
>     doSomethingElse();
> }
> ok 4773 indent invalid if (foo) {
>     doSomething();
> 
> /* Intentionally unindented comment */
>     doSomethingElse();
> }
> ok 4774 indent invalid const obj = {
>     foo () {
>         return condition ? // comment
>         1 :
>             2
>     }
> }
> ok 4775 indent invalid if (foo) {
> 
> // Comment cannot align with code immediately above if there is a whitespace gap
>     doSomething();
> }
> ok 4776 indent invalid if (foo) {
>     foo(
>         bar);
> // Comment cannot align with code immediately below if there is a whitespace gap
> 
> }
> ok 4777 indent invalid [{
>     foo
> },
> 
>     // Comment between nodes
> 
> {
>     bar
> }];
> ok 4778 init-declarations valid var foo = null;
> ok 4779 init-declarations valid foo = true;
> ok 4780 init-declarations valid var foo = 1, bar = false, baz = {};
> ok 4781 init-declarations valid function foo() { var foo = 0; var bar = []; }
> ok 4782 init-declarations valid var fn = function() {};
> ok 4783 init-declarations valid var foo = bar = 2;
> ok 4784 init-declarations valid for (var i = 0; i < 1; i++) {}
> ok 4785 init-declarations valid for (var foo in []) {}
> ok 4786 init-declarations valid for (var foo of []) {}
> ok 4787 init-declarations valid let a = true;
> ok 4788 init-declarations valid const a = {};
> ok 4789 init-declarations valid function foo() { let a = 1, b = false; if (a) { let c = 3, d = null; } }
> ok 4790 init-declarations valid function foo() { const a = 1, b = true; if (a) { const c = 3, d = null; } }
> ok 4791 init-declarations valid function foo() { let a = 1; const b = false; var c = true; }
> ok 4792 init-declarations valid var foo;
> ok 4793 init-declarations valid var foo, bar, baz;
> ok 4794 init-declarations valid function foo() { var foo; var bar; }
> ok 4795 init-declarations valid let a;
> ok 4796 init-declarations valid const a = 1;
> ok 4797 init-declarations valid function foo() { let a, b; if (a) { let c, d; } }
> ok 4798 init-declarations valid function foo() { const a = 1, b = true; if (a) { const c = 3, d = null; } }
> ok 4799 init-declarations valid function foo() { let a; const b = false; var c; }
> ok 4800 init-declarations valid for(var i = 0; i < 1; i++){}
> ok 4801 init-declarations valid for (var foo in []) {}
> ok 4802 init-declarations valid for (var foo of []) {}
> ok 4803 init-declarations invalid var foo;
> ok 4804 init-declarations invalid for (var a in []) var foo;
> ok 4805 init-declarations invalid var foo, bar = false, baz;
> ok 4806 init-declarations invalid function foo() { var foo = 0; var bar; }
> ok 4807 init-declarations invalid function foo() { var foo; var bar = foo; }
> ok 4808 init-declarations invalid let a;
> ok 4809 init-declarations invalid function foo() { let a = 1, b; if (a) { let c = 3, d = null; } }
> ok 4810 init-declarations invalid function foo() { let a; const b = false; var c; }
> ok 4811 init-declarations invalid var foo = bar = 2;
> ok 4812 init-declarations invalid var foo = true;
> ok 4813 init-declarations invalid var foo, bar = 5, baz = 3;
> ok 4814 init-declarations invalid function foo() { var foo; var bar = foo; }
> ok 4815 init-declarations invalid let a = 1;
> ok 4816 init-declarations invalid function foo() { let a = 'foo', b; if (a) { let c, d; } }
> ok 4817 init-declarations invalid function foo() { let a; const b = false; var c = 1; }
> ok 4818 init-declarations invalid for(var i = 0; i < 1; i++){}
> ok 4819 init-declarations invalid for (var foo in []) {}
> ok 4820 init-declarations invalid for (var foo of []) {}
> ok 4821 jsx-quotes valid <foo bar="baz" />
> ok 4822 jsx-quotes valid <foo bar='"' />
> ok 4823 jsx-quotes valid <foo bar="'" />
> ok 4824 jsx-quotes valid <foo bar='baz' />
> ok 4825 jsx-quotes valid <foo bar="baz">"</foo>
> ok 4826 jsx-quotes valid <foo bar='baz'>'</foo>
> ok 4827 jsx-quotes valid <foo bar={'baz'} />
> ok 4828 jsx-quotes valid <foo bar={"baz"} />
> ok 4829 jsx-quotes valid <foo bar={baz} />
> ok 4830 jsx-quotes valid <foo bar />
> ok 4831 jsx-quotes valid <foo bar='"' />
> ok 4832 jsx-quotes valid <foo bar=""" />
> ok 4833 jsx-quotes valid <foo bar='&39;' />
> ok 4834 jsx-quotes valid <foo bar="&39;" />
> ok 4835 jsx-quotes invalid <foo bar='baz' />
> ok 4836 jsx-quotes invalid <foo bar="baz" />
> ok 4837 jsx-quotes invalid <foo bar=""" />
> ok 4838 jsx-quotes invalid <foo bar='&39;' />
> ok 4839 key-spacing valid ({
> })
> ok 4840 key-spacing valid ({
> a: b
> })
> ok 4841 key-spacing valid ({
> })
> ok 4842 key-spacing valid ({
> a: b
> })
> ok 4843 key-spacing valid var obj = { key: value };
> ok 4844 key-spacing valid var obj = { [(a + b)]: value };
> ok 4845 key-spacing valid var foo = { a:bar };
> ok 4846 key-spacing valid var foo = { a: bar };
> ok 4847 key-spacing valid foo({ 'default': function(){}});
> ok 4848 key-spacing valid function foo() { return {
>     key: (foo === 4)
> }; }
> ok 4849 key-spacing valid var obj = {'key' :42 };
> ok 4850 key-spacing valid ({a : foo, b : bar})['a'];
> ok 4851 key-spacing valid var obj = {
>     'a'     : (42 - 12),
>     foobar  : 'value',
>     [(expr)]: val
> };
> ok 4852 key-spacing valid callExpr(arg, {
>     key       :val,
>     'another' :false,
>     [compute] :'value'
> });
> ok 4853 key-spacing valid var obj = {
>     a:        (42 - 12),
>     'foobar': 'value',
>     bat:      function() {
>         return this.a;
>     },
>     baz: 42
> };
> ok 4854 key-spacing valid callExpr(arg, {
>     'asdf' :val,
>     foobar :false,
>     key :   value
> });
> ok 4855 key-spacing valid ({
>     a  : 0,
>     // same group
>     bcd: 0, /*
>     end of group */
> 
>     // different group
>     e: 0,
>     /* group b */
>     f: 0
> })
> ok 4856 key-spacing valid obj = { key 
>  : 
>  longName };
> ok 4857 key-spacing valid obj = { key 
>     :longName };
> ok 4858 key-spacing valid obj = { key     :longName };
> ok 4859 key-spacing valid var obj = { get fn() { return 42; } };
> ok 4860 key-spacing valid ({ get fn() {} })
> ok 4861 key-spacing valid var obj = {foo: 'fee', bar: 'bam'};
> ok 4862 key-spacing valid var obj = {a: 'foo', bar: 'bam'};
> ok 4863 key-spacing valid var x = {
>     foo: 10
>   , b  : 20
> };
> ok 4864 key-spacing valid var x = {
>     foo : 10
>   , b   : 20
> };
> ok 4865 key-spacing valid var x = {
>         foo: 10,
>  /*lol*/b  : 20
> };
> ok 4866 key-spacing valid var a = 'a';
> var b = 'b';
> 
> export default {
>     a,
>     b
> };
> ok 4867 key-spacing valid var test = {
>     prop: 123,
>     a,
>     b
> };
> ok 4868 key-spacing valid var test = {
>     prop: 456,
>     c,
>     d
> };
> ok 4869 key-spacing valid var obj = {
>     foobar: 123,
>     prop,
>     baz:    456
> };
> ok 4870 key-spacing valid var test = {
>     prop: 123,
>     a() { }
> };
> ok 4871 key-spacing valid var test = {
>     prop: 123,
>     a() { },
>     b() { }
> };
> ok 4872 key-spacing valid var obj = {
>     foobar: 123,
>     method() { },
>     baz:    456
> };
> ok 4873 key-spacing valid var obj = {
>     foobar: 123,
>     method() {
>         return 42;
>     },
>     baz: 456
> };
> ok 4874 key-spacing valid var obj = {
>     foo : foo
>   , bar : bar
>   , cats: cats
> };
> ok 4875 key-spacing valid var obj = { foo : foo
>           , bar : bar
>           , cats: cats
> };
> ok 4876 key-spacing valid var obj = {
>     foo :  foo
>   , bar :  bar
>   , cats : cats
> };
> ok 4877 key-spacing valid ({a : foo, ...x, b : bar})['a'];
> ok 4878 key-spacing valid var obj = {
>     'a'     : (42 - 12),
>     ...x,
>     foobar  : 'value',
>     [(expr)]: val
> };
> ok 4879 key-spacing valid callExpr(arg, {
>     key       :val,
>     ...x,
>     ...y,
>     'another' :false,
>     [compute] :'value'
> });
> ok 4880 key-spacing valid var obj = {
>     a:        (42 - 12),
>     ...x,
>     'foobar': 'value',
>     bat:      function() {
>         return this.a;
>     },
>     baz: 42
> };
> ok 4881 key-spacing valid ({
>     ...x,
>     a  : 0,
>     // same group
>     bcd: 0, /*
>     end of group */
> 
>     // different group
>     e: 0,
>     ...y,
>     /* group b */
>     f: 0
> })
> ok 4882 key-spacing valid ({
>     a: 42,
>     get b() { return 42; }
> })
> ok 4883 key-spacing valid ({
>     set a(b) { b; },
>     c: 42
> })
> ok 4884 key-spacing valid ({
>     a  : 42,
>     get b() { return 42; },
>     set c(v) { v; },
>     def: 42
> })
> ok 4885 key-spacing valid ({
>     a  : 42,
>     get b() { return 42; },
>     set c(v) { v; },
>     def: 42
> })
> ok 4886 key-spacing valid ({
>     a   : 42,
>     get b() { return 42; },
>     set c(v) { v; },
>     def : 42,
>     obj : {a: 1, b: 2, c: 3}
> })
> ok 4887 key-spacing valid ({
>     a   : 42,
>     get b() { return 42; },
>     set c(v) { v; },
>     def : 42,
>     def : {a: 1, b: 2, c: 3}
> })
> ok 4888 key-spacing valid var obj = {
>     foobar: 42,
>     bat:    2
> };
> ok 4889 key-spacing valid ({...object})
> ok 4890 key-spacing valid ({
>     longName: 1,
>     small   : 2,
>     f       : function() {
>     },
>     xs :3
> })
> ok 4891 key-spacing valid ({
>     longName: 1,
>     small:    2,
>     f:        function() {
>     },
>     xs :3
> })
> ok 4892 key-spacing valid ({
>     longName : 1,
>     small :    2,
>     xs :       3
> })
> ok 4893 key-spacing valid ({
>     longName :1,
>     small    :2,
>     xs       :3
> })
> ok 4894 key-spacing valid ({
>     longName: 1,
>     small   : 2,
>     xs      :        3
> })
> ok 4895 key-spacing valid ({
>     longName: 1,
>     small   : 2,
>     xs      : 3
> })
> ok 4896 key-spacing valid ({
>     func: function() {
>         var test = true;
>     },
>     longName : 1,
>     small    : 2,
>     xs       : 3,
>     func2    : function() {
>         var test2 = true;
>     },
>     internalGroup: {
>         internal : true,
>         ext      : false
>     }
> })
> ok 4897 key-spacing valid ({
>     func: function() {
>         var test = true;
>     },
>     longName: 1,
>     small:    2,
>     xs:       3,
>     func2:    function() {
>         var test2 = true;
>     },
>     final: 10
> })
> ok 4898 key-spacing valid ({
>     f:function() {
>         var test = true;
>     },
>     stateName : 'NY',
>     borough   : 'Brooklyn',
>     zip       : 11201,
>     f2        : function() {
>         var test2 = true;
>     },
>     final:10
> })
> ok 4899 key-spacing valid var obj = {
>     key1: 1,
> 
>     key2:    2,
>     key3:    3,
> 
>     key4: 4
> }
> ok 4900 key-spacing valid var obj = {
>     key1: 1,
> 
>     key2:    2,
>     key3:    3,
> 
>     key4: 4
> }
> ok 4901 key-spacing invalid var bat = function() { return { foo:bar, 'key': value }; };
> ok 4902 key-spacing invalid var obj = { [ (a + b) ]:value };
> ok 4903 key-spacing invalid fn({ foo:bar, 'key' :value });
> ok 4904 key-spacing invalid var obj = {prop :(42)};
> ok 4905 key-spacing invalid ({'a' : foo, b: bar() }).b();
> ok 4906 key-spacing invalid ({'a'  :foo(), b:  bar() }).b();
> ok 4907 key-spacing invalid bar = { key:value };
> ok 4908 key-spacing invalid obj = {
>     key:   value,
>     foobar:fn(),
>     'a'   : (2 * 2)
> };
> ok 4909 key-spacing invalid ({
>     'a' : val,
>     foo:fn(),
>     b    :[42],
>     c   :call()
> }).a();
> ok 4910 key-spacing invalid var obj = {
>     a:    fn(),
>     'b' : 42,
>     foo:(bar),
>     bat: 'valid',
>     [a] : value
> };
> ok 4911 key-spacing invalid foo = {
>     a:  value,
>     b :  42,
>     foo :['a'],
>     bar : call()
> };
> ok 4912 key-spacing invalid ({
>     a : 0,
>     bcd: 0,
> 
>     e: 0,
>     fg:0
> })
> ok 4913 key-spacing invalid foo = {
>     key:
>         longValueName,
>     key2
>         :anotherLongValue
> };
> ok 4914 key-spacing invalid foo = {
>     key1: 42,
>     // still the same group
>     key12: '42', /*
> 
>     */
>     key123: 'forty two'
> };
> ok 4915 key-spacing invalid foo = { key:(1+2) };
> ok 4916 key-spacing invalid foo = { key:( ( (1+2) ) ) };
> ok 4917 key-spacing invalid var obj = {a  : 'foo', bar: 'bam'};
> ok 4918 key-spacing invalid var x = {
>     foo: 10
>   , b   : 20
> };
> ok 4919 key-spacing invalid var x = {
>         foo : 10,
>  /*lol*/  b : 20
> };
> ok 4920 key-spacing invalid obj = { key 
>  :     longName };
> ok 4921 key-spacing invalid var obj = {
>     foobar: 123,
>     prop,
>     baz: 456
> };
> ok 4922 key-spacing invalid var obj = {
>     foobar:  123,
>     prop,
>     baz:    456
> };
> ok 4923 key-spacing invalid var obj = {
>     foobar: 123,
>     method() { },
>     baz: 456
> };
> ok 4924 key-spacing invalid var obj = {
>     foobar:  123,
>     method() { },
>     baz:    456
> };
> ok 4925 key-spacing invalid var obj = {
>     foobar: 123,
>     method() {
>         return 42;
>     },
>     baz:    456
> };
> ok 4926 key-spacing invalid var obj = {
>     foo: foo
>   , cats: cats
> };
> ok 4927 key-spacing invalid var obj = {
>     foo : foo
>   , cats:  cats
> };
> ok 4928 key-spacing invalid var obj = { foo: foo
>           , cats: cats
> };
> ok 4929 key-spacing invalid var obj = { foo  : foo
>           , cats: cats
> };
> ok 4930 key-spacing invalid var obj = { foo :foo
>           , cats: cats
> };
> ok 4931 key-spacing invalid var obj = { foo :  foo
>           , cats: cats
> };
> ok 4932 key-spacing invalid var obj = { foo : foo
>           , cats:  cats
> };
> ok 4933 key-spacing invalid ({
>     ...x,
>     a : 0,
>     // same group
>     bcd: 0, /*
>     end of group */
> 
>     // different group
>     e: 0,
>     ...y,
>     /* group b */
>     f : 0
> })
> ok 4934 key-spacing invalid ({
>     a : 42,
>     get b() { return 42; }
> })
> ok 4935 key-spacing invalid ({
>     set a(b) { b; },
>     c : 42
> })
> ok 4936 key-spacing invalid ({
>     a: 42,
>     get b() { return 42; },
>     set c(v) { v; },
>     def: 42
> })
> ok 4937 key-spacing invalid ({
>     a :    42,
>     get b() { return 42; },
>     set c(v) { v; },
>     def  :  42,
>     def2 : {a1: 1, b1:2, c1:3}
> })
> ok 4938 key-spacing invalid ({
>     a  : 42,
>     get b() { return 42; },
>     set c(v) { v; },
>     def: 42,
>     de1: {a2: 1, b2 : 2, c2 : 3}
> })
> ok 4939 key-spacing invalid obj = {
>    get fx() { return 'f'; },
>    get gx() { return 'g'; },
>    ex:e
> };
> ok 4940 key-spacing invalid obj = {
>    get fx() { return 'f'; },
>    get gx() { return 'g'; },
>    ex : e
> };
> ok 4941 key-spacing invalid ({
>     aInv :43,
>     get b() { return 43; },
>     set c(v) { v; },
>     defInv: 43
> })
> ok 4942 key-spacing invalid ({ a:b, ...object, c : d })
> ok 4943 key-spacing invalid ({
>     longName:1,
>     small    :2,
>     xs      : 3
> })
> ok 4944 key-spacing invalid ({
>     func:function() {
>         var test = true;
>     },
>     longName: 1,
>     small: 2,
>     xs            : 3,
>     func2    : function() {
>         var test2 = true;
>     },
>     singleLine : 10
> })
> ok 4945 key-spacing invalid ({
>     func:function() {
>         var test = false;
>     },
>     longName :1,
>     small :2,
>     xs            : 3,
>     func2    : function() {
>         var test2 = true;
>     },
>     singleLine : 10
> })
> ok 4946 key-spacing invalid var obj = {
>     key1: 1,
> 
>     key2:    2,
>     key3:    3,
> 
>     key4: 4
> }
> ok 4947 key-spacing invalid var obj = {
>     key1: 1,
> 
>     key2:    2,
>     key3:    3,
> 
>     key4: 4
> }
> ok 4948 key-spacing invalid ({ foo/* comment */ : bar })
> ok 4949 key-spacing invalid ({ foo: /* comment */bar })
> ok 4950 key-spacing invalid ({ foo/*comment*/:/*comment*/bar })
> ok 4951 keyword-spacing valid import * as a from "foo"
> ok 4952 keyword-spacing valid import*as a from"foo"
> ok 4953 keyword-spacing valid import* as a from"foo"
> ok 4954 keyword-spacing valid import *as a from "foo"
> ok 4955 keyword-spacing valid {} async function foo() {}
> ok 4956 keyword-spacing valid {}async function foo() {}
> ok 4957 keyword-spacing valid {} async function foo() {}
> ok 4958 keyword-spacing valid {}async function foo() {}
> ok 4959 keyword-spacing valid {} async () => {}
> ok 4960 keyword-spacing valid {}async () => {}
> ok 4961 keyword-spacing valid {} async () => {}
> ok 4962 keyword-spacing valid {}async () => {}
> ok 4963 keyword-spacing valid ({async [b]() {}})
> ok 4964 keyword-spacing valid ({async[b]() {}})
> ok 4965 keyword-spacing valid ({async [b]() {}})
> ok 4966 keyword-spacing valid ({async[b]() {}})
> ok 4967 keyword-spacing valid class A {a(){} async [b]() {}}
> ok 4968 keyword-spacing valid class A {a(){}async[b]() {}}
> ok 4969 keyword-spacing valid class A {a(){} async [b]() {}}
> ok 4970 keyword-spacing valid class A {a(){}async[b]() {}}
> ok 4971 keyword-spacing valid [async function foo() {}]
> ok 4972 keyword-spacing valid [ async function foo() {}]
> ok 4973 keyword-spacing valid () =>async function foo() {}
> ok 4974 keyword-spacing valid () => async function foo() {}
> ok 4975 keyword-spacing valid {async function foo() {} }
> ok 4976 keyword-spacing valid { async function foo() {} }
> ok 4977 keyword-spacing valid (0,async function foo() {})
> ok 4978 keyword-spacing valid (0, async function foo() {})
> ok 4979 keyword-spacing valid a[async function foo() {}]
> ok 4980 keyword-spacing valid ({[async function foo() {}]: 0})
> ok 4981 keyword-spacing valid a[ async function foo() {}]
> ok 4982 keyword-spacing valid ({[ async function foo() {}]: 0})
> ok 4983 keyword-spacing valid ({ async* foo() {} })
> ok 4984 keyword-spacing valid ({ async *foo() {} })
> ok 4985 keyword-spacing valid ({a:async function foo() {} })
> ok 4986 keyword-spacing valid ({a: async function foo() {} })
> ok 4987 keyword-spacing valid ;async function foo() {};
> ok 4988 keyword-spacing valid ; async function foo() {} ;
> ok 4989 keyword-spacing valid async() => {}
> ok 4990 keyword-spacing valid async () => {}
> ok 4991 keyword-spacing valid (async function foo() {})
> ok 4992 keyword-spacing valid ( async function foo() {})
> ok 4993 keyword-spacing valid a =async function foo() {}
> ok 4994 keyword-spacing valid a = async function foo() {}
> ok 4995 keyword-spacing valid !async function foo() {}
> ok 4996 keyword-spacing valid ! async function foo() {}
> ok 4997 keyword-spacing valid `${async function foo() {}}`
> ok 4998 keyword-spacing valid `${ async function foo() {}}`
> ok 4999 keyword-spacing valid <Foo onClick={async function foo() {}} />
> ok 5000 keyword-spacing valid <Foo onClick={ async function foo() {}} />
> ok 5001 keyword-spacing valid async function wrap() { {} await +1 }
> ok 5002 keyword-spacing valid async function wrap() { {}await +1 }
> ok 5003 keyword-spacing valid async function wrap() { {} await +1 }
> ok 5004 keyword-spacing valid async function wrap() { {}await +1 }
> ok 5005 keyword-spacing valid async function wrap() { [await a] }
> ok 5006 keyword-spacing valid async function wrap() { [ await a] }
> ok 5007 keyword-spacing valid async () =>await a
> ok 5008 keyword-spacing valid async () => await a
> ok 5009 keyword-spacing valid async function wrap() { {await a } }
> ok 5010 keyword-spacing valid async function wrap() { { await a } }
> ok 5011 keyword-spacing valid async function wrap() { (0,await a) }
> ok 5012 keyword-spacing valid async function wrap() { (0, await a) }
> ok 5013 keyword-spacing valid async function wrap() { a[await a] }
> ok 5014 keyword-spacing valid async function wrap() { ({[await a]: 0}) }
> ok 5015 keyword-spacing valid async function wrap() { a[ await a] }
> ok 5016 keyword-spacing valid async function wrap() { ({[ await a]: 0}) }
> ok 5017 keyword-spacing valid async function wrap() { ({a:await a }) }
> ok 5018 keyword-spacing valid async function wrap() { ({a: await a }) }
> ok 5019 keyword-spacing valid async function wrap() { ;await a; }
> ok 5020 keyword-spacing valid async function wrap() { ; await a ; }
> ok 5021 keyword-spacing valid async function wrap() { (await a) }
> ok 5022 keyword-spacing valid async function wrap() { ( await a) }
> ok 5023 keyword-spacing valid async function wrap() { a =await a }
> ok 5024 keyword-spacing valid async function wrap() { a = await a }
> ok 5025 keyword-spacing valid async function wrap() { !await'a' }
> ok 5026 keyword-spacing valid async function wrap() { ! await 'a' }
> ok 5027 keyword-spacing valid async function wrap() { `${await a}` }
> ok 5028 keyword-spacing valid async function wrap() { `${ await a}` }
> ok 5029 keyword-spacing valid async function wrap() { <Foo onClick={await a} /> }
> ok 5030 keyword-spacing valid async function wrap() { <Foo onClick={ await a} /> }
> ok 5031 keyword-spacing valid A: for (;;) { {} break A; }
> ok 5032 keyword-spacing valid A: for(;;) { {}break A; }
> ok 5033 keyword-spacing valid A: for(;;) { {} break A; }
> ok 5034 keyword-spacing valid A: for (;;) { {}break A; }
> ok 5035 keyword-spacing valid for (;;) {break}
> ok 5036 keyword-spacing valid for(;;) { break }
> ok 5037 keyword-spacing valid for (;;) { ;break; }
> ok 5038 keyword-spacing valid for(;;) { ; break ; }
> ok 5039 keyword-spacing valid switch (a) { case 0: {} case +1: }
> ok 5040 keyword-spacing valid switch (a) { case 0: {} case (1): }
> ok 5041 keyword-spacing valid switch(a) { case 0: {}case+1: }
> ok 5042 keyword-spacing valid switch(a) { case 0: {}case(1): }
> ok 5043 keyword-spacing valid switch(a) { case 0: {} case +1: }
> ok 5044 keyword-spacing valid switch (a) { case 0: {}case+1: }
> ok 5045 keyword-spacing valid switch (a) {case 0: }
> ok 5046 keyword-spacing valid switch(a) { case 0: }
> ok 5047 keyword-spacing valid switch (a) { case 0: ;case 1: }
> ok 5048 keyword-spacing valid switch(a) { case 0: ; case 1: }
> ok 5049 keyword-spacing valid try {} catch (e) {}
> ok 5050 keyword-spacing valid try{}catch(e) {}
> ok 5051 keyword-spacing valid try{} catch (e) {}
> ok 5052 keyword-spacing valid try {}catch(e) {}
> ok 5053 keyword-spacing valid try {}
> catch (e) {}
> ok 5054 keyword-spacing valid try{}
> catch(e) {}
> ok 5055 keyword-spacing valid {} class Bar {}
> ok 5056 keyword-spacing valid (class {})
> ok 5057 keyword-spacing valid {}class Bar {}
> ok 5058 keyword-spacing valid (class{})
> ok 5059 keyword-spacing valid {} class Bar {}
> ok 5060 keyword-spacing valid {}class Bar {}
> ok 5061 keyword-spacing valid [class {}]
> ok 5062 keyword-spacing valid [ class{}]
> ok 5063 keyword-spacing valid () =>class {}
> ok 5064 keyword-spacing valid () => class{}
> ok 5065 keyword-spacing valid {class Bar {} }
> ok 5066 keyword-spacing valid { class Bar {} }
> ok 5067 keyword-spacing valid (0,class {})
> ok 5068 keyword-spacing valid (0, class{})
> ok 5069 keyword-spacing valid a[class {}]
> ok 5070 keyword-spacing valid ({[class {}]: 0})
> ok 5071 keyword-spacing valid a[ class{}]
> ok 5072 keyword-spacing valid ({[ class{}]: 0})
> ok 5073 keyword-spacing valid ({a:class {} })
> ok 5074 keyword-spacing valid ({a: class{} })
> ok 5075 keyword-spacing valid ;class Bar {};
> ok 5076 keyword-spacing valid ; class Bar {} ;
> ok 5077 keyword-spacing valid ( class{})
> ok 5078 keyword-spacing valid a =class {}
> ok 5079 keyword-spacing valid a = class{}
> ok 5080 keyword-spacing valid !class {}
> ok 5081 keyword-spacing valid ! class{}
> ok 5082 keyword-spacing valid `${class {}}`
> ok 5083 keyword-spacing valid `${ class{}}`
> ok 5084 keyword-spacing valid <Foo onClick={class {}} />
> ok 5085 keyword-spacing valid <Foo onClick={ class{}} />
> ok 5086 keyword-spacing valid {} const [a] = b
> ok 5087 keyword-spacing valid {} const {a} = b
> ok 5088 keyword-spacing valid {}const[a] = b
> ok 5089 keyword-spacing valid {}const{a} = b
> ok 5090 keyword-spacing valid {} const [a] = b
> ok 5091 keyword-spacing valid {} const {a} = b
> ok 5092 keyword-spacing valid {}const[a] = b
> ok 5093 keyword-spacing valid {}const{a} = b
> ok 5094 keyword-spacing valid {const a = b}
> ok 5095 keyword-spacing valid { const a = b}
> ok 5096 keyword-spacing valid ;const a = b;
> ok 5097 keyword-spacing valid ; const a = b ;
> ok 5098 keyword-spacing valid A: for (;;) { {} continue A; }
> ok 5099 keyword-spacing valid A: for(;;) { {}continue A; }
> ok 5100 keyword-spacing valid A: for(;;) { {} continue A; }
> ok 5101 keyword-spacing valid A: for (;;) { {}continue A; }
> ok 5102 keyword-spacing valid for (;;) {continue}
> ok 5103 keyword-spacing valid for(;;) { continue }
> ok 5104 keyword-spacing valid for (;;) { ;continue; }
> ok 5105 keyword-spacing valid for(;;) { ; continue ; }
> ok 5106 keyword-spacing valid {} debugger
> ok 5107 keyword-spacing valid {}debugger
> ok 5108 keyword-spacing valid {} debugger
> ok 5109 keyword-spacing valid {}debugger
> ok 5110 keyword-spacing valid {debugger}
> ok 5111 keyword-spacing valid { debugger }
> ok 5112 keyword-spacing valid ;debugger;
> ok 5113 keyword-spacing valid ; debugger ;
> ok 5114 keyword-spacing valid switch (a) { case 0: {} default: }
> ok 5115 keyword-spacing valid switch(a) { case 0: {}default: }
> ok 5116 keyword-spacing valid switch(a) { case 0: {} default: }
> ok 5117 keyword-spacing valid switch (a) { case 0: {}default: }
> ok 5118 keyword-spacing valid switch (a) {default:}
> ok 5119 keyword-spacing valid switch(a) { default: }
> ok 5120 keyword-spacing valid switch (a) { case 0: ;default: }
> ok 5121 keyword-spacing valid switch(a) { case 0: ; default: }
> ok 5122 keyword-spacing valid {} delete foo.a
> ok 5123 keyword-spacing valid {}delete foo.a
> ok 5124 keyword-spacing valid {} delete foo.a
> ok 5125 keyword-spacing valid {}delete foo.a
> ok 5126 keyword-spacing valid [delete foo.a]
> ok 5127 keyword-spacing valid [ delete foo.a]
> ok 5128 keyword-spacing valid (() =>delete foo.a)
> ok 5129 keyword-spacing valid (() => delete foo.a)
> ok 5130 keyword-spacing valid {delete foo.a }
> ok 5131 keyword-spacing valid { delete foo.a }
> ok 5132 keyword-spacing valid (0,delete foo.a)
> ok 5133 keyword-spacing valid (0, delete foo.a)
> ok 5134 keyword-spacing valid a[delete foo.a]
> ok 5135 keyword-spacing valid ({[delete foo.a]: 0})
> ok 5136 keyword-spacing valid a[ delete foo.a]
> ok 5137 keyword-spacing valid ({[ delete foo.a]: 0})
> ok 5138 keyword-spacing valid ({a:delete foo.a })
> ok 5139 keyword-spacing valid ({a: delete foo.a })
> ok 5140 keyword-spacing valid ;delete foo.a
> ok 5141 keyword-spacing valid ; delete foo.a
> ok 5142 keyword-spacing valid (delete foo.a)
> ok 5143 keyword-spacing valid ( delete foo.a)
> ok 5144 keyword-spacing valid a =delete foo.a
> ok 5145 keyword-spacing valid a = delete foo.a
> ok 5146 keyword-spacing valid !delete(foo.a)
> ok 5147 keyword-spacing valid ! delete (foo.a)
> ok 5148 keyword-spacing valid `${delete foo.a}`
> ok 5149 keyword-spacing valid `${ delete foo.a}`
> ok 5150 keyword-spacing valid <Foo onClick={delete foo.a} />
> ok 5151 keyword-spacing valid <Foo onClick={ delete foo.a} />
> ok 5152 keyword-spacing valid {} do {} while (true)
> ok 5153 keyword-spacing valid {}do{}while(true)
> ok 5154 keyword-spacing valid {} do {}while(true)
> ok 5155 keyword-spacing valid {}do{} while (true)
> ok 5156 keyword-spacing valid {}
> do
> {} while (true)
> ok 5157 keyword-spacing valid {}
> do
> {}while(true)
> ok 5158 keyword-spacing valid {do {} while (true)}
> ok 5159 keyword-spacing valid { do{}while(true) }
> ok 5160 keyword-spacing valid ;do; while (true)
> ok 5161 keyword-spacing valid ; do ;while(true)
> ok 5162 keyword-spacing valid if (a) {} else {}
> ok 5163 keyword-spacing valid if (a) {} else if (b) {}
> ok 5164 keyword-spacing valid if (a) {} else (0)
> ok 5165 keyword-spacing valid if (a) {} else []
> ok 5166 keyword-spacing valid if (a) {} else +1
> ok 5167 keyword-spacing valid if (a) {} else "a"
> ok 5168 keyword-spacing valid if(a){}else{}
> ok 5169 keyword-spacing valid if(a){}else if(b) {}
> ok 5170 keyword-spacing valid if(a) {}else(0)
> ok 5171 keyword-spacing valid if(a) {}else[]
> ok 5172 keyword-spacing valid if(a) {}else+1
> ok 5173 keyword-spacing valid if(a) {}else"a"
> ok 5174 keyword-spacing valid if(a) {} else {}
> ok 5175 keyword-spacing valid if (a) {}else{}
> ok 5176 keyword-spacing valid if (a) {}
> else
> {}
> ok 5177 keyword-spacing valid if(a) {}
> else
> {}
> ok 5178 keyword-spacing valid if (a);else;
> ok 5179 keyword-spacing valid if(a); else ;
> ok 5180 keyword-spacing valid var a = 0; {} export {a}
> ok 5181 keyword-spacing valid {} export default a
> ok 5182 keyword-spacing valid {} export * from "a"
> ok 5183 keyword-spacing valid var a = 0; {}export{a}
> ok 5184 keyword-spacing valid var a = 0; {} export {a}
> ok 5185 keyword-spacing valid var a = 0; {}export{a}
> ok 5186 keyword-spacing valid var a = 0;
> ;export {a}
> ok 5187 keyword-spacing valid var a = 0;
> ; export{a}
> ok 5188 keyword-spacing valid class Bar extends [] {}
> ok 5189 keyword-spacing valid class Bar extends[] {}
> ok 5190 keyword-spacing valid class Bar extends [] {}
> ok 5191 keyword-spacing valid class Bar extends[] {}
> ok 5192 keyword-spacing valid try {} finally {}
> ok 5193 keyword-spacing valid try{}finally{}
> ok 5194 keyword-spacing valid try{} finally {}
> ok 5195 keyword-spacing valid try {}finally{}
> ok 5196 keyword-spacing valid try {}
> finally
> {}
> ok 5197 keyword-spacing valid try{}
> finally
> {}
> ok 5198 keyword-spacing valid {} for (;;) {}
> ok 5199 keyword-spacing valid {} for (var foo in obj) {}
> ok 5200 keyword-spacing valid {} for (var foo of list) {}
> ok 5201 keyword-spacing valid {}for(;;) {}
> ok 5202 keyword-spacing valid {}for(var foo in obj) {}
> ok 5203 keyword-spacing valid {}for(var foo of list) {}
> ok 5204 keyword-spacing valid {} for (;;) {}
> ok 5205 keyword-spacing valid {} for (var foo in obj) {}
> ok 5206 keyword-spacing valid {} for (var foo of list) {}
> ok 5207 keyword-spacing valid {}for(;;) {}
> ok 5208 keyword-spacing valid {}for(var foo in obj) {}
> ok 5209 keyword-spacing valid {}for(var foo of list) {}
> ok 5210 keyword-spacing valid {for (;;) {} }
> ok 5211 keyword-spacing valid {for (var foo in obj) {} }
> ok 5212 keyword-spacing valid {for (var foo of list) {} }
> ok 5213 keyword-spacing valid { for(;;) {} }
> ok 5214 keyword-spacing valid { for(var foo in obj) {} }
> ok 5215 keyword-spacing valid { for(var foo of list) {} }
> ok 5216 keyword-spacing valid ;for (;;) {}
> ok 5217 keyword-spacing valid ;for (var foo in obj) {}
> ok 5218 keyword-spacing valid ;for (var foo of list) {}
> ok 5219 keyword-spacing valid ; for(;;) {}
> ok 5220 keyword-spacing valid ; for(var foo in obj) {}
> ok 5221 keyword-spacing valid ; for(var foo of list) {}
> ok 5222 keyword-spacing valid import {foo} from "foo"
> ok 5223 keyword-spacing valid export {foo} from "foo"
> ok 5224 keyword-spacing valid export * from "foo"
> ok 5225 keyword-spacing valid import{foo}from"foo"
> ok 5226 keyword-spacing valid export{foo}from"foo"
> ok 5227 keyword-spacing valid export*from"foo"
> ok 5228 keyword-spacing valid import{foo} from "foo"
> ok 5229 keyword-spacing valid export{foo} from "foo"
> ok 5230 keyword-spacing valid export* from "foo"
> ok 5231 keyword-spacing valid import {foo}from"foo"
> ok 5232 keyword-spacing valid export {foo}from"foo"
> ok 5233 keyword-spacing valid export *from"foo"
> ok 5234 keyword-spacing valid {} function foo() {}
> ok 5235 keyword-spacing valid {}function foo() {}
> ok 5236 keyword-spacing valid {} function foo() {}
> ok 5237 keyword-spacing valid {}function foo() {}
> ok 5238 keyword-spacing valid [function() {}]
> ok 5239 keyword-spacing valid [ function() {}]
> ok 5240 keyword-spacing valid (() =>function() {})
> ok 5241 keyword-spacing valid (() => function() {})
> ok 5242 keyword-spacing valid {function foo() {} }
> ok 5243 keyword-spacing valid { function foo() {} }
> ok 5244 keyword-spacing valid (0,function() {})
> ok 5245 keyword-spacing valid (0, function() {})
> ok 5246 keyword-spacing valid a[function() {}]
> ok 5247 keyword-spacing valid ({[function() {}]: 0})
> ok 5248 keyword-spacing valid a[ function() {}]
> ok 5249 keyword-spacing valid ({[ function(){}]: 0})
> ok 5250 keyword-spacing valid function* foo() {}
> ok 5251 keyword-spacing valid function *foo() {}
> ok 5252 keyword-spacing valid ({a:function() {} })
> ok 5253 keyword-spacing valid ({a: function() {} })
> ok 5254 keyword-spacing valid ;function foo() {};
> ok 5255 keyword-spacing valid ; function foo() {} ;
> ok 5256 keyword-spacing valid (function() {})
> ok 5257 keyword-spacing valid ( function () {})
> ok 5258 keyword-spacing valid a =function() {}
> ok 5259 keyword-spacing valid a = function() {}
> ok 5260 keyword-spacing valid !function() {}
> ok 5261 keyword-spacing valid ! function() {}
> ok 5262 keyword-spacing valid `${function() {}}`
> ok 5263 keyword-spacing valid `${ function() {}}`
> ok 5264 keyword-spacing valid <Foo onClick={function() {}} />
> ok 5265 keyword-spacing valid <Foo onClick={ function() {}} />
> ok 5266 keyword-spacing valid ({ get [b]() {} })
> ok 5267 keyword-spacing valid class A { a() {} get [b]() {} }
> ok 5268 keyword-spacing valid class A { a() {} static get [b]() {} }
> ok 5269 keyword-spacing valid ({ get[b]() {} })
> ok 5270 keyword-spacing valid class A { a() {}get[b]() {} }
> ok 5271 keyword-spacing valid class A { a() {}static get[b]() {} }
> ok 5272 keyword-spacing valid ({ get [b]() {} })
> ok 5273 keyword-spacing valid class A { a() {} get [b]() {} }
> ok 5274 keyword-spacing valid ({ get[b]() {} })
> ok 5275 keyword-spacing valid class A { a() {}get[b]() {} }
> ok 5276 keyword-spacing valid ({ a,get [b]() {} })
> ok 5277 keyword-spacing valid ({ a, get[b]() {} })
> ok 5278 keyword-spacing valid {} if (a) {}
> ok 5279 keyword-spacing valid if (a) {} else if (a) {}
> ok 5280 keyword-spacing valid {}if(a) {}
> ok 5281 keyword-spacing valid if(a) {}else if(a) {}
> ok 5282 keyword-spacing valid {} if (a) {}
> ok 5283 keyword-spacing valid if (a) {}else if (a) {}
> ok 5284 keyword-spacing valid {}if(a) {}
> ok 5285 keyword-spacing valid if(a) {} else if(a) {}
> ok 5286 keyword-spacing valid {if (a) {} }
> ok 5287 keyword-spacing valid { if(a) {} }
> ok 5288 keyword-spacing valid ;if (a) {}
> ok 5289 keyword-spacing valid ; if(a) {}
> ok 5290 keyword-spacing valid {} import {a} from "foo"
> ok 5291 keyword-spacing valid {} import a from "foo"
> ok 5292 keyword-spacing valid {} import * as a from "a"
> ok 5293 keyword-spacing valid {}import{a}from"foo"
> ok 5294 keyword-spacing valid {}import*as a from"foo"
> ok 5295 keyword-spacing valid {} import {a}from"foo"
> ok 5296 keyword-spacing valid {} import *as a from"foo"
> ok 5297 keyword-spacing valid {}import{a} from "foo"
> ok 5298 keyword-spacing valid {}import* as a from "foo"
> ok 5299 keyword-spacing valid ;import {a} from "foo"
> ok 5300 keyword-spacing valid ; import{a}from"foo"
> ok 5301 keyword-spacing valid for ([foo] in {foo: 0}) {}
> ok 5302 keyword-spacing valid for([foo]in{foo: 0}) {}
> ok 5303 keyword-spacing valid for([foo] in {foo: 0}) {}
> ok 5304 keyword-spacing valid for ([foo]in{foo: 0}) {}
> ok 5305 keyword-spacing valid for ([foo] in ({foo: 0})) {}
> ok 5306 keyword-spacing valid if ("foo"in{foo: 0}) {}
> ok 5307 keyword-spacing valid if("foo" in {foo: 0}) {}
> ok 5308 keyword-spacing valid if ("foo"instanceof{foo: 0}) {}
> ok 5309 keyword-spacing valid if("foo" instanceof {foo: 0}) {}
> ok 5310 keyword-spacing valid {} let [a] = b
> ok 5311 keyword-spacing valid {}let[a] = b
> ok 5312 keyword-spacing valid {} let [a] = b
> ok 5313 keyword-spacing valid {}let[a] = b
> ok 5314 keyword-spacing valid {let [a] = b }
> ok 5315 keyword-spacing valid { let[a] = b }
> ok 5316 keyword-spacing valid ;let [a] = b
> ok 5317 keyword-spacing valid ; let[a] = b
> ok 5318 keyword-spacing valid {} new foo()
> ok 5319 keyword-spacing valid {}new foo()
> ok 5320 keyword-spacing valid {} new foo()
> ok 5321 keyword-spacing valid {}new foo()
> ok 5322 keyword-spacing valid [new foo()]
> ok 5323 keyword-spacing valid [ new foo()]
> ok 5324 keyword-spacing valid (() =>new foo())
> ok 5325 keyword-spacing valid (() => new foo())
> ok 5326 keyword-spacing valid {new foo() }
> ok 5327 keyword-spacing valid { new foo() }
> ok 5328 keyword-spacing valid (0,new foo())
> ok 5329 keyword-spacing valid (0, new foo())
> ok 5330 keyword-spacing valid a[new foo()]
> ok 5331 keyword-spacing valid ({[new foo()]: 0})
> ok 5332 keyword-spacing valid a[ new foo()]
> ok 5333 keyword-spacing valid ({[ new foo()]: 0})
> ok 5334 keyword-spacing valid ({a:new foo() })
> ok 5335 keyword-spacing valid ({a: new foo() })
> ok 5336 keyword-spacing valid ;new foo()
> ok 5337 keyword-spacing valid ; new foo()
> ok 5338 keyword-spacing valid (new foo())
> ok 5339 keyword-spacing valid ( new foo())
> ok 5340 keyword-spacing valid a =new foo()
> ok 5341 keyword-spacing valid a = new foo()
> ok 5342 keyword-spacing valid !new(foo)()
> ok 5343 keyword-spacing valid ! new (foo)()
> ok 5344 keyword-spacing valid `${new foo()}`
> ok 5345 keyword-spacing valid `${ new foo()}`
> ok 5346 keyword-spacing valid <Foo onClick={new foo()} />
> ok 5347 keyword-spacing valid <Foo onClick={ new foo()} />
> ok 5348 keyword-spacing valid for ([foo] of {foo: 0}) {}
> ok 5349 keyword-spacing valid for([foo]of{foo: 0}) {}
> ok 5350 keyword-spacing valid for([foo] of {foo: 0}) {}
> ok 5351 keyword-spacing valid for ([foo]of{foo: 0}) {}
> ok 5352 keyword-spacing valid for ([foo] of ({foo: 0})) {}
> ok 5353 keyword-spacing valid function foo() { {} return +a }
> ok 5354 keyword-spacing valid function foo() { {}return+a }
> ok 5355 keyword-spacing valid function foo() { {} return +a }
> ok 5356 keyword-spacing valid function foo() { {}return+a }
> ok 5357 keyword-spacing valid function foo() {
> return
> }
> ok 5358 keyword-spacing valid function foo() {
> return
> }
> ok 5359 keyword-spacing valid function foo() {return}
> ok 5360 keyword-spacing valid function foo() { return }
> ok 5361 keyword-spacing valid function foo() { ;return; }
> ok 5362 keyword-spacing valid function foo() { ; return ; }
> ok 5363 keyword-spacing valid ({ set [b](value) {} })
> ok 5364 keyword-spacing valid class A { a() {} set [b](value) {} }
> ok 5365 keyword-spacing valid class A { a() {} static set [b](value) {} }
> ok 5366 keyword-spacing valid ({ set[b](value) {} })
> ok 5367 keyword-spacing valid class A { a() {}set[b](value) {} }
> ok 5368 keyword-spacing valid ({ set [b](value) {} })
> ok 5369 keyword-spacing valid class A { a() {} set [b](value) {} }
> ok 5370 keyword-spacing valid ({ set[b](value) {} })
> ok 5371 keyword-spacing valid class A { a() {}set[b](value) {} }
> ok 5372 keyword-spacing valid ({ a,set [b](value) {} })
> ok 5373 keyword-spacing valid ({ a, set[b](value) {} })
> ok 5374 keyword-spacing valid class A { a() {} static [b]() {} }
> ok 5375 keyword-spacing valid class A { a() {}static[b]() {} }
> ok 5376 keyword-spacing valid class A { a() {} static [b]() {} }
> ok 5377 keyword-spacing valid class A { a() {}static[b]() {} }
> ok 5378 keyword-spacing valid class A { static* [a]() {} }
> ok 5379 keyword-spacing valid class A { static *[a]() {} }
> ok 5380 keyword-spacing valid class A { ;static a() {} }
> ok 5381 keyword-spacing valid class A { ; static a() {} }
> ok 5382 keyword-spacing valid class A extends B { a() { {} super[b](); } }
> ok 5383 keyword-spacing valid class A extends B { a() { {}super[b](); } }
> ok 5384 keyword-spacing valid class A extends B { a() { {} super[b](); } }
> ok 5385 keyword-spacing valid class A extends B { a() { {}super[b](); } }
> ok 5386 keyword-spacing valid class A extends B { constructor() { [super()]; } }
> ok 5387 keyword-spacing valid class A extends B { constructor() { [ super() ]; } }
> ok 5388 keyword-spacing valid class A extends B { constructor() { () =>super(); } }
> ok 5389 keyword-spacing valid class A extends B { constructor() { () => super(); } }
> ok 5390 keyword-spacing valid class A extends B { constructor() {super()} }
> ok 5391 keyword-spacing valid class A extends B { constructor() { super() } }
> ok 5392 keyword-spacing valid class A extends B { constructor() { (0,super()) } }
> ok 5393 keyword-spacing valid class A extends B { constructor() { (0, super()) } }
> ok 5394 keyword-spacing valid class A extends B { constructor() { ({[super()]: 0}) } }
> ok 5395 keyword-spacing valid class A extends B { constructor() { ({[ super() ]: 0}) } }
> ok 5396 keyword-spacing valid class A extends B { constructor() { ({a:super() }) } }
> ok 5397 keyword-spacing valid class A extends B { constructor() { ({a: super() }) } }
> ok 5398 keyword-spacing valid class A extends B { constructor() { super(); } }
> ok 5399 keyword-spacing valid class A extends B { constructor() { super (); } }
> ok 5400 keyword-spacing valid class A extends B { constructor() { ;super(); } }
> ok 5401 keyword-spacing valid class A extends B { constructor() { ; super() ; } }
> ok 5402 keyword-spacing valid class A extends B { constructor() { (super()) } }
> ok 5403 keyword-spacing valid class A extends B { constructor() { ( super() ) } }
> ok 5404 keyword-spacing valid class A extends B { constructor() { b =super() } }
> ok 5405 keyword-spacing valid class A extends B { constructor() { b = super() } }
> ok 5406 keyword-spacing valid class A extends B { constructor() { !super() } }
> ok 5407 keyword-spacing valid class A extends B { constructor() { ! super() } }
> ok 5408 keyword-spacing valid class A extends B { constructor() { `${super()}` } }
> ok 5409 keyword-spacing valid class A extends B { constructor() { `${ super() }` } }
> ok 5410 keyword-spacing valid class A extends B { constructor() { <Foo onClick={super()} /> } }
> ok 5411 keyword-spacing valid class A extends B { constructor() { <Foo onClick={ super() } /> } }
> ok 5412 keyword-spacing valid {} switch (a) {}
> ok 5413 keyword-spacing valid {}switch(a) {}
> ok 5414 keyword-spacing valid {} switch (a) {}
> ok 5415 keyword-spacing valid {}switch(a) {}
> ok 5416 keyword-spacing valid {switch (a) {} }
> ok 5417 keyword-spacing valid { switch(a) {} }
> ok 5418 keyword-spacing valid ;switch (a) {}
> ok 5419 keyword-spacing valid ; switch(a) {}
> ok 5420 keyword-spacing valid {} this[a]
> ok 5421 keyword-spacing valid {}this[a]
> ok 5422 keyword-spacing valid {} this[a]
> ok 5423 keyword-spacing valid {}this[a]
> ok 5424 keyword-spacing valid [this]
> ok 5425 keyword-spacing valid [ this ]
> ok 5426 keyword-spacing valid (() =>this)
> ok 5427 keyword-spacing valid (() => this)
> ok 5428 keyword-spacing valid {this}
> ok 5429 keyword-spacing valid { this }
> ok 5430 keyword-spacing valid (0,this)
> ok 5431 keyword-spacing valid (0, this)
> ok 5432 keyword-spacing valid a[this]
> ok 5433 keyword-spacing valid ({[this]: 0})
> ok 5434 keyword-spacing valid a[ this ]
> ok 5435 keyword-spacing valid ({[ this ]: 0})
> ok 5436 keyword-spacing valid ({a:this })
> ok 5437 keyword-spacing valid ({a: this })
> ok 5438 keyword-spacing valid ;this
> ok 5439 keyword-spacing valid ; this
> ok 5440 keyword-spacing valid (this)
> ok 5441 keyword-spacing valid ( this )
> ok 5442 keyword-spacing valid a =this
> ok 5443 keyword-spacing valid a = this
> ok 5444 keyword-spacing valid !this
> ok 5445 keyword-spacing valid ! this
> ok 5446 keyword-spacing valid `${this}`
> ok 5447 keyword-spacing valid `${ this }`
> ok 5448 keyword-spacing valid <Foo onClick={this} />
> ok 5449 keyword-spacing valid <Foo onClick={ this } />
> ok 5450 keyword-spacing valid function foo() { {} throw +a }
> ok 5451 keyword-spacing valid function foo() { {}throw+a }
> ok 5452 keyword-spacing valid function foo() { {} throw +a }
> ok 5453 keyword-spacing valid function foo() { {}throw+a }
> ok 5454 keyword-spacing valid function foo() {
> throw a
> }
> ok 5455 keyword-spacing valid function foo() {
> throw a
> }
> ok 5456 keyword-spacing valid function foo() {throw a }
> ok 5457 keyword-spacing valid function foo() { throw a }
> ok 5458 keyword-spacing valid function foo() { ;throw a }
> ok 5459 keyword-spacing valid function foo() { ; throw a }
> ok 5460 keyword-spacing valid {} try {} finally {}
> ok 5461 keyword-spacing valid {}try{}finally{}
> ok 5462 keyword-spacing valid {} try {}finally{}
> ok 5463 keyword-spacing valid {}try{} finally {}
> ok 5464 keyword-spacing valid {try {} finally {}}
> ok 5465 keyword-spacing valid { try{}finally{}}
> ok 5466 keyword-spacing valid ;try {} finally {}
> ok 5467 keyword-spacing valid ; try{}finally{}
> ok 5468 keyword-spacing valid {} typeof foo
> ok 5469 keyword-spacing valid {}typeof foo
> ok 5470 keyword-spacing valid {} typeof foo
> ok 5471 keyword-spacing valid {}typeof foo
> ok 5472 keyword-spacing valid [typeof foo]
> ok 5473 keyword-spacing valid [ typeof foo]
> ok 5474 keyword-spacing valid (() =>typeof foo)
> ok 5475 keyword-spacing valid (() => typeof foo)
> ok 5476 keyword-spacing valid {typeof foo }
> ok 5477 keyword-spacing valid { typeof foo }
> ok 5478 keyword-spacing valid (0,typeof foo)
> ok 5479 keyword-spacing valid (0, typeof foo)
> ok 5480 keyword-spacing valid a[typeof foo]
> ok 5481 keyword-spacing valid ({[typeof foo]: 0})
> ok 5482 keyword-spacing valid a[ typeof foo]
> ok 5483 keyword-spacing valid ({[ typeof foo]: 0})
> ok 5484 keyword-spacing valid ({a:typeof foo })
> ok 5485 keyword-spacing valid ({a: typeof foo })
> ok 5486 keyword-spacing valid ;typeof foo
> ok 5487 keyword-spacing valid ; typeof foo
> ok 5488 keyword-spacing valid (typeof foo)
> ok 5489 keyword-spacing valid ( typeof foo)
> ok 5490 keyword-spacing valid a =typeof foo
> ok 5491 keyword-spacing valid a = typeof foo
> ok 5492 keyword-spacing valid !typeof+foo
> ok 5493 keyword-spacing valid ! typeof +foo
> ok 5494 keyword-spacing valid `${typeof foo}`
> ok 5495 keyword-spacing valid `${ typeof foo}`
> ok 5496 keyword-spacing valid <Foo onClick={typeof foo} />
> ok 5497 keyword-spacing valid <Foo onClick={ typeof foo} />
> ok 5498 keyword-spacing valid {} var [a] = b
> ok 5499 keyword-spacing valid {}var[a] = b
> ok 5500 keyword-spacing valid {} var [a] = b
> ok 5501 keyword-spacing valid {}var[a] = b
> ok 5502 keyword-spacing valid for (var foo in [1, 2, 3]) {}
> ok 5503 keyword-spacing valid {var a = b }
> ok 5504 keyword-spacing valid { var a = b }
> ok 5505 keyword-spacing valid ;var a = b
> ok 5506 keyword-spacing valid ; var a = b
> ok 5507 keyword-spacing valid {} void foo
> ok 5508 keyword-spacing valid {}void foo
> ok 5509 keyword-spacing valid {} void foo
> ok 5510 keyword-spacing valid {}void foo
> ok 5511 keyword-spacing valid [void foo]
> ok 5512 keyword-spacing valid [ void foo]
> ok 5513 keyword-spacing valid (() =>void foo)
> ok 5514 keyword-spacing valid (() => void foo)
> ok 5515 keyword-spacing valid {void foo }
> ok 5516 keyword-spacing valid { void foo }
> ok 5517 keyword-spacing valid (0,void foo)
> ok 5518 keyword-spacing valid (0, void foo)
> ok 5519 keyword-spacing valid a[void foo]
> ok 5520 keyword-spacing valid ({[void foo]: 0})
> ok 5521 keyword-spacing valid a[ void foo]
> ok 5522 keyword-spacing valid ({[ void foo]: 0})
> ok 5523 keyword-spacing valid ({a:void foo })
> ok 5524 keyword-spacing valid ({a: void foo })
> ok 5525 keyword-spacing valid ;void foo
> ok 5526 keyword-spacing valid ; void foo
> ok 5527 keyword-spacing valid (void foo)
> ok 5528 keyword-spacing valid ( void foo)
> ok 5529 keyword-spacing valid a =void foo
> ok 5530 keyword-spacing valid a = void foo
> ok 5531 keyword-spacing valid !void+foo
> ok 5532 keyword-spacing valid ! void +foo
> ok 5533 keyword-spacing valid `${void foo}`
> ok 5534 keyword-spacing valid `${ void foo}`
> ok 5535 keyword-spacing valid <Foo onClick={void foo} />
> ok 5536 keyword-spacing valid <Foo onClick={ void foo} />
> ok 5537 keyword-spacing valid {} while (a) {}
> ok 5538 keyword-spacing valid do {} while (a)
> ok 5539 keyword-spacing valid {}while(a) {}
> ok 5540 keyword-spacing valid do{}while(a)
> ok 5541 keyword-spacing valid {} while (a) {}
> ok 5542 keyword-spacing valid do{} while (a)
> ok 5543 keyword-spacing valid {}while(a) {}
> ok 5544 keyword-spacing valid do {}while(a)
> ok 5545 keyword-spacing valid do {}
> while (a)
> ok 5546 keyword-spacing valid do{}
> while(a)
> ok 5547 keyword-spacing valid {while (a) {}}
> ok 5548 keyword-spacing valid { while(a) {}}
> ok 5549 keyword-spacing valid ;while (a);
> ok 5550 keyword-spacing valid do;while (a);
> ok 5551 keyword-spacing valid ; while(a) ;
> ok 5552 keyword-spacing valid do ; while(a) ;
> ok 5553 keyword-spacing valid {} with (obj) {}
> ok 5554 keyword-spacing valid {}with(obj) {}
> ok 5555 keyword-spacing valid {} with (obj) {}
> ok 5556 keyword-spacing valid {}with(obj) {}
> ok 5557 keyword-spacing valid {with (obj) {}}
> ok 5558 keyword-spacing valid { with(obj) {}}
> ok 5559 keyword-spacing valid ;with (obj) {}
> ok 5560 keyword-spacing valid ; with(obj) {}
> ok 5561 keyword-spacing valid function* foo() { {} yield foo }
> ok 5562 keyword-spacing valid function* foo() { {}yield foo }
> ok 5563 keyword-spacing valid function* foo() { {} yield foo }
> ok 5564 keyword-spacing valid function* foo() { {}yield foo }
> ok 5565 keyword-spacing valid function* foo() { [yield] }
> ok 5566 keyword-spacing valid function* foo() { [ yield ] }
> ok 5567 keyword-spacing valid function* foo() {yield}
> ok 5568 keyword-spacing valid function* foo() { yield }
> ok 5569 keyword-spacing valid function* foo() { (0,yield foo) }
> ok 5570 keyword-spacing valid function* foo() { (0, yield foo) }
> ok 5571 keyword-spacing valid function* foo() { a[yield] }
> ok 5572 keyword-spacing valid function* foo() { ({[yield]: 0}) }
> ok 5573 keyword-spacing valid function* foo() { a[ yield ] }
> ok 5574 keyword-spacing valid function* foo() { ({[ yield ]: 0}) }
> ok 5575 keyword-spacing valid function* foo() { ({a:yield foo }) }
> ok 5576 keyword-spacing valid function* foo() { ({a: yield foo }) }
> ok 5577 keyword-spacing valid function* foo() { ;yield; }
> ok 5578 keyword-spacing valid function* foo() { ; yield ; }
> ok 5579 keyword-spacing valid function* foo() { (yield) }
> ok 5580 keyword-spacing valid function* foo() { ( yield ) }
> ok 5581 keyword-spacing valid function* foo() { a =yield foo }
> ok 5582 keyword-spacing valid function* foo() { a = yield foo }
> ok 5583 keyword-spacing valid function* foo() { yield+foo }
> ok 5584 keyword-spacing valid function* foo() { yield +foo }
> ok 5585 keyword-spacing valid `${yield}`
> ok 5586 keyword-spacing valid `${ yield}`
> ok 5587 keyword-spacing valid function* foo() { <Foo onClick={yield} /> }
> ok 5588 keyword-spacing valid function* foo() { <Foo onClick={ yield } /> }
> ok 5589 keyword-spacing valid @dec class Foo {}
> ok 5590 keyword-spacing valid class Foo { @dec get bar() {} @dec set baz() {} @dec async baw() {} }
> ok 5591 keyword-spacing valid class Foo { @dec static qux() {} @dec static get bar() {} @dec static set baz() {} @dec static async baw() {} }
> ok 5592 keyword-spacing valid symbol => 4;
> ok 5593 keyword-spacing invalid import *as a from "foo"
> ok 5594 keyword-spacing invalid import* as a from"foo"
> ok 5595 keyword-spacing invalid import*as a from"foo"
> ok 5596 keyword-spacing invalid import * as a from "foo"
> ok 5597 keyword-spacing invalid {}async function foo() {}
> ok 5598 keyword-spacing invalid {} async function foo() {}
> ok 5599 keyword-spacing invalid {}async function foo() {}
> ok 5600 keyword-spacing invalid {} async function foo() {}
> ok 5601 keyword-spacing invalid {}async () => {}
> ok 5602 keyword-spacing invalid {} async () => {}
> ok 5603 keyword-spacing invalid {}async () => {}
> ok 5604 keyword-spacing invalid {} async () => {}
> ok 5605 keyword-spacing invalid ({async[b]() {}})
> ok 5606 keyword-spacing invalid ({async [b]() {}})
> ok 5607 keyword-spacing invalid ({async[b]() {}})
> ok 5608 keyword-spacing invalid ({async [b]() {}})
> ok 5609 keyword-spacing invalid class A {a(){}async[b]() {}}
> ok 5610 keyword-spacing invalid class A {a(){} async [b]() {}}
> ok 5611 keyword-spacing invalid class A {a(){}async[b]() {}}
> ok 5612 keyword-spacing invalid class A {a(){} async [b]() {}}
> ok 5613 keyword-spacing invalid async function wrap() { {}await a }
> ok 5614 keyword-spacing invalid async function wrap() { {} await a }
> ok 5615 keyword-spacing invalid async function wrap() { {}await a }
> ok 5616 keyword-spacing invalid async function wrap() { {} await a }
> ok 5617 keyword-spacing invalid async function wrap() { for await(x of xs); }
> ok 5618 keyword-spacing invalid async function wrap() { for await (x of xs); }
> ok 5619 keyword-spacing invalid async function wrap() { for await(x of xs); }
> ok 5620 keyword-spacing invalid async function wrap() { for await (x of xs); }
> ok 5621 keyword-spacing invalid A: for (;;) { {}break A; }
> ok 5622 keyword-spacing invalid A: for(;;) { {} break A; }
> ok 5623 keyword-spacing invalid A: for(;;) { {}break A; }
> ok 5624 keyword-spacing invalid A: for (;;) { {} break A; }
> ok 5625 keyword-spacing invalid switch (a) { case 0: {}case+1: }
> ok 5626 keyword-spacing invalid switch (a) { case 0: {}case(1): }
> ok 5627 keyword-spacing invalid switch(a) { case 0: {} case +1: }
> ok 5628 keyword-spacing invalid switch(a) { case 0: {} case (1): }
> ok 5629 keyword-spacing invalid switch(a) { case 0: {}case+1: }
> ok 5630 keyword-spacing invalid switch (a) { case 0: {} case +1: }
> ok 5631 keyword-spacing invalid try {}catch(e) {}
> ok 5632 keyword-spacing invalid try{} catch (e) {}
> ok 5633 keyword-spacing invalid try{}catch(e) {}
> ok 5634 keyword-spacing invalid try {} catch (e) {}
> ok 5635 keyword-spacing invalid {}class Bar {}
> ok 5636 keyword-spacing invalid (class{})
> ok 5637 keyword-spacing invalid {} class Bar {}
> ok 5638 keyword-spacing invalid (class {})
> ok 5639 keyword-spacing invalid {}class Bar {}
> ok 5640 keyword-spacing invalid {} class Bar {}
> ok 5641 keyword-spacing invalid {}const[a] = b
> ok 5642 keyword-spacing invalid {}const{a} = b
> ok 5643 keyword-spacing invalid {} const [a] = b
> ok 5644 keyword-spacing invalid {} const {a} = b
> ok 5645 keyword-spacing invalid {}const[a] = b
> ok 5646 keyword-spacing invalid {}const{a} = b
> ok 5647 keyword-spacing invalid {} const [a] = b
> ok 5648 keyword-spacing invalid {} const {a} = b
> ok 5649 keyword-spacing invalid A: for (;;) { {}continue A; }
> ok 5650 keyword-spacing invalid A: for(;;) { {} continue A; }
> ok 5651 keyword-spacing invalid A: for(;;) { {}continue A; }
> ok 5652 keyword-spacing invalid A: for (;;) { {} continue A; }
> ok 5653 keyword-spacing invalid {}debugger
> ok 5654 keyword-spacing invalid {} debugger
> ok 5655 keyword-spacing invalid {}debugger
> ok 5656 keyword-spacing invalid {} debugger
> ok 5657 keyword-spacing invalid switch (a) { case 0: {}default: }
> ok 5658 keyword-spacing invalid switch(a) { case 0: {} default: }
> ok 5659 keyword-spacing invalid switch(a) { case 0: {}default: }
> ok 5660 keyword-spacing invalid switch (a) { case 0: {} default: }
> ok 5661 keyword-spacing invalid {}delete foo.a
> ok 5662 keyword-spacing invalid {} delete foo.a
> ok 5663 keyword-spacing invalid {}delete foo.a
> ok 5664 keyword-spacing invalid {} delete foo.a
> ok 5665 keyword-spacing invalid {}do{} while (true)
> ok 5666 keyword-spacing invalid {} do {}while(true)
> ok 5667 keyword-spacing invalid {}do{}while(true)
> ok 5668 keyword-spacing invalid {} do {} while (true)
> ok 5669 keyword-spacing invalid if (a) {}else{}
> ok 5670 keyword-spacing invalid if (a) {}else if (b) {}
> ok 5671 keyword-spacing invalid if (a) {}else(0)
> ok 5672 keyword-spacing invalid if (a) {}else[]
> ok 5673 keyword-spacing invalid if (a) {}else+1
> ok 5674 keyword-spacing invalid if (a) {}else"a"
> ok 5675 keyword-spacing invalid if(a){} else {}
> ok 5676 keyword-spacing invalid if(a){} else if(b) {}
> ok 5677 keyword-spacing invalid if(a) {} else (0)
> ok 5678 keyword-spacing invalid if(a) {} else []
> ok 5679 keyword-spacing invalid if(a) {} else +1
> ok 5680 keyword-spacing invalid if(a) {} else "a"
> ok 5681 keyword-spacing invalid if(a) {}else{}
> ok 5682 keyword-spacing invalid if (a) {} else {}
> ok 5683 keyword-spacing invalid if (a) {}else {}
> ok 5684 keyword-spacing invalid if (a) {} else{}
> ok 5685 keyword-spacing invalid if(a) {} else{}
> ok 5686 keyword-spacing invalid if(a) {}else {}
> ok 5687 keyword-spacing invalid var a = 0; {}export{a}
> ok 5688 keyword-spacing invalid var a = 0; {}export default a
> ok 5689 keyword-spacing invalid var a = 0; export default{a}
> ok 5690 keyword-spacing invalid {}export* from "a"
> ok 5691 keyword-spacing invalid var a = 0; {} export {a}
> ok 5692 keyword-spacing invalid var a = 0; {}export{a}
> ok 5693 keyword-spacing invalid var a = 0; {} export {a}
> ok 5694 keyword-spacing invalid class Bar extends[] {}
> ok 5695 keyword-spacing invalid (class extends[] {})
> ok 5696 keyword-spacing invalid class Bar extends [] {}
> ok 5697 keyword-spacing invalid (class extends [] {})
> ok 5698 keyword-spacing invalid class Bar extends[] {}
> ok 5699 keyword-spacing invalid class Bar extends [] {}
> ok 5700 keyword-spacing invalid class Bar extends`}` {}
> ok 5701 keyword-spacing invalid try {}finally{}
> ok 5702 keyword-spacing invalid try{} finally {}
> ok 5703 keyword-spacing invalid try{}finally{}
> ok 5704 keyword-spacing invalid try {} finally {}
> ok 5705 keyword-spacing invalid {}for(;;) {}
> ok 5706 keyword-spacing invalid {}for(var foo in obj) {}
> ok 5707 keyword-spacing invalid {}for(var foo of list) {}
> ok 5708 keyword-spacing invalid {} for (;;) {}
> ok 5709 keyword-spacing invalid {} for (var foo in obj) {}
> ok 5710 keyword-spacing invalid {} for (var foo of list) {}
> ok 5711 keyword-spacing invalid {}for(;;) {}
> ok 5712 keyword-spacing invalid {}for(var foo in obj) {}
> ok 5713 keyword-spacing invalid {}for(var foo of list) {}
> ok 5714 keyword-spacing invalid {} for (;;) {}
> ok 5715 keyword-spacing invalid {} for (var foo in obj) {}
> ok 5716 keyword-spacing invalid {} for (var foo of list) {}
> ok 5717 keyword-spacing invalid import {foo}from"foo"
> ok 5718 keyword-spacing invalid export {foo}from"foo"
> ok 5719 keyword-spacing invalid export *from"foo"
> ok 5720 keyword-spacing invalid import{foo} from "foo"
> ok 5721 keyword-spacing invalid export{foo} from "foo"
> ok 5722 keyword-spacing invalid export* from "foo"
> ok 5723 keyword-spacing invalid import{foo}from"foo"
> ok 5724 keyword-spacing invalid export{foo}from"foo"
> ok 5725 keyword-spacing invalid export*from"foo"
> ok 5726 keyword-spacing invalid import {foo} from "foo"
> ok 5727 keyword-spacing invalid export {foo} from "foo"
> ok 5728 keyword-spacing invalid export * from "foo"
> ok 5729 keyword-spacing invalid {}function foo() {}
> ok 5730 keyword-spacing invalid {} function foo() {}
> ok 5731 keyword-spacing invalid {}function foo() {}
> ok 5732 keyword-spacing invalid {} function foo() {}
> ok 5733 keyword-spacing invalid ({ get[b]() {} })
> ok 5734 keyword-spacing invalid class A { a() {}get[b]() {} }
> ok 5735 keyword-spacing invalid class A { a() {} static get[b]() {} }
> ok 5736 keyword-spacing invalid ({ get [b]() {} })
> ok 5737 keyword-spacing invalid class A { a() {} get [b]() {} }
> ok 5738 keyword-spacing invalid class A { a() {}static get [b]() {} }
> ok 5739 keyword-spacing invalid ({ get[b]() {} })
> ok 5740 keyword-spacing invalid class A { a() {}get[b]() {} }
> ok 5741 keyword-spacing invalid ({ get [b]() {} })
> ok 5742 keyword-spacing invalid class A { a() {} get [b]() {} }
> ok 5743 keyword-spacing invalid {}if(a) {}
> ok 5744 keyword-spacing invalid if (a) {} else if(b) {}
> ok 5745 keyword-spacing invalid {} if (a) {}
> ok 5746 keyword-spacing invalid if(a) {}else if (b) {}
> ok 5747 keyword-spacing invalid {}if(a) {}
> ok 5748 keyword-spacing invalid if (a) {}else if(b) {}
> ok 5749 keyword-spacing invalid {} if (a) {}
> ok 5750 keyword-spacing invalid if(a) {} else if (b) {}
> ok 5751 keyword-spacing invalid {}import{a} from "foo"
> ok 5752 keyword-spacing invalid {}import a from "foo"
> ok 5753 keyword-spacing invalid {}import* as a from "a"
> ok 5754 keyword-spacing invalid {} import {a}from"foo"
> ok 5755 keyword-spacing invalid {} import *as a from"foo"
> ok 5756 keyword-spacing invalid {}import{a}from"foo"
> ok 5757 keyword-spacing invalid {}import*as a from"foo"
> ok 5758 keyword-spacing invalid {} import {a} from "foo"
> ok 5759 keyword-spacing invalid {} import * as a from "foo"
> ok 5760 keyword-spacing invalid for ([foo]in{foo: 0}) {}
> ok 5761 keyword-spacing invalid for([foo] in {foo: 0}) {}
> ok 5762 keyword-spacing invalid for([foo]in{foo: 0}) {}
> ok 5763 keyword-spacing invalid for ([foo] in {foo: 0}) {}
> ok 5764 keyword-spacing invalid {}let[a] = b
> ok 5765 keyword-spacing invalid {} let [a] = b
> ok 5766 keyword-spacing invalid {}let[a] = b
> ok 5767 keyword-spacing invalid {} let [a] = b
> ok 5768 keyword-spacing invalid {}new foo()
> ok 5769 keyword-spacing invalid {} new foo()
> ok 5770 keyword-spacing invalid {}new foo()
> ok 5771 keyword-spacing invalid {} new foo()
> ok 5772 keyword-spacing invalid for ([foo]of{foo: 0}) {}
> ok 5773 keyword-spacing invalid for([foo] of {foo: 0}) {}
> ok 5774 keyword-spacing invalid for([foo]of{foo: 0}) {}
> ok 5775 keyword-spacing invalid for ([foo] of {foo: 0}) {}
> ok 5776 keyword-spacing invalid function foo() { {}return+a }
> ok 5777 keyword-spacing invalid function foo() { {} return +a }
> ok 5778 keyword-spacing invalid function foo() { {}return+a }
> ok 5779 keyword-spacing invalid function foo() { {} return +a }
> ok 5780 keyword-spacing invalid ({ set[b](value) {} })
> ok 5781 keyword-spacing invalid class A { a() {}set[b](value) {} }
> ok 5782 keyword-spacing invalid class A { a() {} static set[b](value) {} }
> ok 5783 keyword-spacing invalid ({ set [b](value) {} })
> ok 5784 keyword-spacing invalid class A { a() {} set [b](value) {} }
> ok 5785 keyword-spacing invalid ({ set[b](value) {} })
> ok 5786 keyword-spacing invalid class A { a() {}set[b](value) {} }
> ok 5787 keyword-spacing invalid ({ set [b](value) {} })
> ok 5788 keyword-spacing invalid class A { a() {} set [b](value) {} }
> ok 5789 keyword-spacing invalid class A { a() {}static[b]() {} }
> ok 5790 keyword-spacing invalid class A { a() {}static get [b]() {} }
> ok 5791 keyword-spacing invalid class A { a() {} static [b]() {} }
> ok 5792 keyword-spacing invalid class A { a() {} static get[b]() {} }
> ok 5793 keyword-spacing invalid class A { a() {}static[b]() {} }
> ok 5794 keyword-spacing invalid class A { a() {} static [b]() {} }
> ok 5795 keyword-spacing invalid class A { a() { {}super[b]; } }
> ok 5796 keyword-spacing invalid class A { a() { {} super[b]; } }
> ok 5797 keyword-spacing invalid class A { a() { {}super[b]; } }
> ok 5798 keyword-spacing invalid class A { a() { {} super[b]; } }
> ok 5799 keyword-spacing invalid {}switch(a) {}
> ok 5800 keyword-spacing invalid {} switch (a) {}
> ok 5801 keyword-spacing invalid {}switch(a) {}
> ok 5802 keyword-spacing invalid {} switch (a) {}
> ok 5803 keyword-spacing invalid {}this[a]
> ok 5804 keyword-spacing invalid {} this[a]
> ok 5805 keyword-spacing invalid {}this[a]
> ok 5806 keyword-spacing invalid {} this[a]
> ok 5807 keyword-spacing invalid function foo() { {}throw+a }
> ok 5808 keyword-spacing invalid function foo() { {} throw +a }
> ok 5809 keyword-spacing invalid function foo() { {}throw+a }
> ok 5810 keyword-spacing invalid function foo() { {} throw +a }
> ok 5811 keyword-spacing invalid {}try{} finally {}
> ok 5812 keyword-spacing invalid {} try {}finally{}
> ok 5813 keyword-spacing invalid {}try{}finally{}
> ok 5814 keyword-spacing invalid {} try {} finally {}
> ok 5815 keyword-spacing invalid {}typeof foo
> ok 5816 keyword-spacing invalid {} typeof foo
> ok 5817 keyword-spacing invalid {}typeof foo
> ok 5818 keyword-spacing invalid {} typeof foo
> ok 5819 keyword-spacing invalid {}var[a] = b
> ok 5820 keyword-spacing invalid {} var [a] = b
> ok 5821 keyword-spacing invalid {}var[a] = b
> ok 5822 keyword-spacing invalid {} var [a] = b
> ok 5823 keyword-spacing invalid {}void foo
> ok 5824 keyword-spacing invalid {} void foo
> ok 5825 keyword-spacing invalid {}void foo
> ok 5826 keyword-spacing invalid {} void foo
> ok 5827 keyword-spacing invalid {}while(a) {}
> ok 5828 keyword-spacing invalid do {}while(a)
> ok 5829 keyword-spacing invalid {} while (a) {}
> ok 5830 keyword-spacing invalid do{} while (a)
> ok 5831 keyword-spacing invalid {}while(a) {}
> ok 5832 keyword-spacing invalid do{}while(a)
> ok 5833 keyword-spacing invalid {} while (a) {}
> ok 5834 keyword-spacing invalid do {} while (a)
> ok 5835 keyword-spacing invalid {}with(obj) {}
> ok 5836 keyword-spacing invalid {} with (obj) {}
> ok 5837 keyword-spacing invalid {}with(obj) {}
> ok 5838 keyword-spacing invalid {} with (obj) {}
> ok 5839 keyword-spacing invalid function* foo() { {}yield foo }
> ok 5840 keyword-spacing invalid function* foo() { {} yield foo }
> ok 5841 keyword-spacing invalid function* foo() { {}yield foo }
> ok 5842 keyword-spacing invalid function* foo() { {} yield foo }
> ok 5843 keyword-spacing invalid class Foo { @desc({set a(value) {}, get a() {}, async c() {}}) async[foo]() {} }
> ok 5844 line-comment-position valid // valid comment
> 1 + 1;
> ok 5845 line-comment-position valid /* block comments are skipped */
> 1 + 1;
> ok 5846 line-comment-position valid 1 + 1; /* block comments are skipped */
> ok 5847 line-comment-position valid 1 + 1; /* eslint eqeqeq: 'error' */
> ok 5848 line-comment-position valid 1 + 1; /* eslint-disable */
> ok 5849 line-comment-position valid 1 + 1; /* eslint-enable */
> ok 5850 line-comment-position valid 1 + 1; // eslint-disable-line
> ok 5851 line-comment-position valid // eslint-disable-next-line
> 1 + 1;
> ok 5852 line-comment-position valid 1 + 1; // global MY_GLOBAL, ANOTHER
> ok 5853 line-comment-position valid 1 + 1; // globals MY_GLOBAL: true
> ok 5854 line-comment-position valid 1 + 1; // exported MY_GLOBAL, ANOTHER
> ok 5855 line-comment-position valid 1 + 1; // fallthrough
> ok 5856 line-comment-position valid 1 + 1; // fall through
> ok 5857 line-comment-position valid 1 + 1; // falls through
> ok 5858 line-comment-position valid 1 + 1; // jslint vars: true
> ok 5859 line-comment-position valid 1 + 1; // jshint ignore:line
> ok 5860 line-comment-position valid 1 + 1; // istanbul ignore next
> ok 5861 line-comment-position valid 1 + 1; // linter excepted comment
> ok 5862 line-comment-position valid // Meep
> console.log('Meep');
> ok 5863 line-comment-position valid 1 + 1; // valid comment
> ok 5864 line-comment-position valid // jscs: disable
> 1 + 1;
> ok 5865 line-comment-position valid // jscs: enable
> 1 + 1;
> ok 5866 line-comment-position valid /* block comments are skipped */
> 1 + 1;
> ok 5867 line-comment-position valid /*block comment*/
> /*block comment*/
> 1 + 1;
> ok 5868 line-comment-position valid 1 + 1; /* block comment are skipped */
> ok 5869 line-comment-position valid 1 + 1; // jshint strict: true
> ok 5870 line-comment-position valid // pragma valid comment
> 1 + 1;
> ok 5871 line-comment-position valid // above
> 1 + 1; // ignored
> ok 5872 line-comment-position valid foo; // eslint-disable-line no-alert
> ok 5873 line-comment-position invalid 1 + 1; // invalid comment
> ok 5874 line-comment-position invalid 1 + 1; // globalization is a word
> ok 5875 line-comment-position invalid // jscs: disable
> 1 + 1;
> ok 5876 line-comment-position invalid // jscs: disable
> 1 + 1;
> ok 5877 line-comment-position invalid // jscs: disable
> 1 + 1;
> ok 5878 line-comment-position invalid 1 + 1; // mentioning falls through
> ok 5879 line-comment-position invalid // invalid comment
> 1 + 1;
> ok 5880 line-comment-position invalid // pragma
> // invalid
> 1 + 1;
> ok 5881 line-comment-position invalid 1 + 1; // linter
> 2 + 2; // invalid comment
> ok 5882 linebreak-style valid var a = 'a',
>  b = 'b';
> 
>  function foo(params) {
>  /* do stuff */ 
>  }
> 
> ok 5883 linebreak-style valid var a = 'a',
>  b = 'b';
> 
>  function foo(params) {
>  /* do stuff */ 
>  }
> 
> ok 5884 linebreak-style valid var a = 'a',
> 
>  b = 'b';
> 
> 
> 
>  function foo(params) {
> 
>  /* do stuff */ 
> 
>  }
> 
> 
> ok 5885 linebreak-style valid var b = 'b';
> ok 5886 linebreak-style valid var b = 'b';
> ok 5887 linebreak-style invalid var a = 'a';
> 
> 
> ok 5888 linebreak-style invalid var a = 'a';
> 
> 
> ok 5889 linebreak-style invalid var a = 'a';
> 
> ok 5890 linebreak-style invalid var a = 'a',
>  b = 'b';
> 
>  function foo(params) {
> 
>  /* do stuff */ 
>  }
> 
> 
> ok 5891 linebreak-style invalid var a = 'a',
> 
>  b = 'b';
> 
> 
>  function foo(params) {
> 
> 
>  /* do stuff */ 
>  }
> 
> 
> ok 5892 lines-around-comment valid bar()
> 
> /** block block block
>  * block 
>  */
> 
> var a = 1;
> ok 5893 lines-around-comment valid bar()
> 
> /** block block block
>  * block 
>  */
> var a = 1;
> ok 5894 lines-around-comment valid bar()
> // line line line 
> var a = 1;
> ok 5895 lines-around-comment valid bar()
> 
> // line line line
> var a = 1;
> ok 5896 lines-around-comment valid bar()
> // line line line
> 
> var a = 1;
> ok 5897 lines-around-comment valid bar()
> // line line line
> 
> var a = 1;
> ok 5898 lines-around-comment valid foo()
> 
> // line line line
> var a = 1;
> ok 5899 lines-around-comment valid foo()
> 
> // line line line
> 
> var a = 1;
> ok 5900 lines-around-comment valid foo()
> 
> // line line line
> // line line
> 
> var a = 1;
> ok 5901 lines-around-comment valid // line line line
> // line line
> ok 5902 lines-around-comment valid bar()
> 
> /** A Block comment with a an empty line after
>  *
>  */
> var a = 1;
> ok 5903 lines-around-comment valid bar()
> 
> /** block block block
>  * block 
>  */
> var a = 1;
> ok 5904 lines-around-comment valid /** 
> block 
> block block
>  */
> /* block 
>  block 
>  */
> ok 5905 lines-around-comment valid bar()
> 
> /** block block block
>  * block 
>  */
> 
> var a = 1;
> ok 5906 lines-around-comment valid foo() // An inline comment with a an empty line after
> var a = 1;
> ok 5907 lines-around-comment valid foo();
> bar() /* An inline block comment with a an empty line after
>  *
>  */
> var a = 1;
> ok 5908 lines-around-comment valid bar()
> 
> /** block block block
>  * block 
>  */
> //line line line
> var a = 1;
> ok 5909 lines-around-comment valid bar()
> 
> /** block block block
>  * block 
>  */
> //line line line
> var a = 1;
> ok 5910 lines-around-comment valid var a,
> 
> // line
> b;
> ok 5911 lines-around-comment valid function foo(){   
> // line at block start
> var g = 1;
> }
> ok 5912 lines-around-comment valid function foo(){// line at block start
> var g = 1;
> }
> ok 5913 lines-around-comment valid var foo = function(){
> // line at block start
> var g = 1;
> }
> ok 5914 lines-around-comment valid var foo = function(){
> // line at block start
> }
> ok 5915 lines-around-comment valid if(true){
> // line at block start
> var g = 1;
> }
> ok 5916 lines-around-comment valid if(true){
> 
> // line at block start
> var g = 1;
> }
> ok 5917 lines-around-comment valid if(true){
> // line at block start
> }
> ok 5918 lines-around-comment valid if(true){ bar(); } else {
> // line at block start
> }
> ok 5919 lines-around-comment valid switch ('foo'){
> case 'foo':
> // line at switch case start
> break;
> }
> ok 5920 lines-around-comment valid switch ('foo'){
> case 'foo':
> 
> // line at switch case start
> break;
> }
> ok 5921 lines-around-comment valid switch ('foo'){
> case 'foo':
> break;
> 
> default:
> // line at switch case start
> break;
> }
> ok 5922 lines-around-comment valid switch ('foo'){
> case 'foo':
> break;
> 
> default:
> 
> // line at switch case start
> break;
> }
> ok 5923 lines-around-comment valid function foo(){   
> /* block comment at block start */
> var g = 1;
> }
> ok 5924 lines-around-comment valid function foo(){/* block comment at block start */
> var g = 1;
> }
> ok 5925 lines-around-comment valid var foo = function(){
> /* block comment at block start */
> var g = 1;
> }
> ok 5926 lines-around-comment valid if(true){
> /* block comment at block start */
> var g = 1;
> }
> ok 5927 lines-around-comment valid if(true){
> 
> /* block comment at block start */
> var g = 1;
> }
> ok 5928 lines-around-comment valid while(true){
> 
> /* 
> block comment at block start
>  */
> var g = 1;
> }
> ok 5929 lines-around-comment valid class A {
> /**
> * hi
>  */
> constructor() {}
> }
> ok 5930 lines-around-comment valid class A {
> /**
> * hi
>  */
> constructor() {}
> }
> ok 5931 lines-around-comment valid class A {
> /**
> * hi
>  */
> constructor() {}
> }
> ok 5932 lines-around-comment valid switch ('foo'){
> case 'foo':
> /* block comment at switch case start */
> break;
> }
> ok 5933 lines-around-comment valid switch ('foo'){
> case 'foo':
> 
> /* block comment at switch case start */
> break;
> }
> ok 5934 lines-around-comment valid switch ('foo'){
> case 'foo':
> break;
> 
> default:
> /* block comment at switch case start */
> break;
> }
> ok 5935 lines-around-comment valid switch ('foo'){
> case 'foo':
> break;
> 
> default:
> 
> /* block comment at switch case start */
> break;
> }
> ok 5936 lines-around-comment valid var a,
> // line
> 
> b;
> ok 5937 lines-around-comment valid function foo(){
> var g = 91;
> // line at block end
> }
> ok 5938 lines-around-comment valid function foo(){
> var g = 61;
> 
> 
> // line at block end
> }
> ok 5939 lines-around-comment valid var foo = function(){
> var g = 1;
> 
> 
> // line at block end
> }
> ok 5940 lines-around-comment valid if(true){
> var g = 1;
> // line at block end
> }
> ok 5941 lines-around-comment valid if(true){
> var g = 1;
> 
> // line at block end
> }
> ok 5942 lines-around-comment valid switch ('foo'){
> case 'foo':
> var g = 1;
> 
> // line at switch case end
> }
> ok 5943 lines-around-comment valid switch ('foo'){
> case 'foo':
> var g = 1;
> 
> // line at switch case end
> 
> }
> ok 5944 lines-around-comment valid switch ('foo'){
> case 'foo':
> break;
> 
> default:
> var g = 1;
> 
> // line at switch case end
> }
> ok 5945 lines-around-comment valid switch ('foo'){
> case 'foo':
> break;
> 
> default:
> var g = 1;
> 
> // line at switch case end
> 
> }
> ok 5946 lines-around-comment valid while(true){
> // line at block start and end
> }
> ok 5947 lines-around-comment valid while(true){
> // line at block start and end
> }
> ok 5948 lines-around-comment valid while(true){
> // line at block start and end
> }
> ok 5949 lines-around-comment valid while(true){
> // line at block start and end
> }
> ok 5950 lines-around-comment valid while(true){
> // line at block start and end
> }
> ok 5951 lines-around-comment valid function foo(){   
> var g = 1;
> /* block comment at block end */
> }
> ok 5952 lines-around-comment valid function foo(){
> var g = 1;
> /* block comment at block end */}
> ok 5953 lines-around-comment valid var foo = function(){
> var g = 1;
> /* block comment at block end */
> }
> ok 5954 lines-around-comment valid if(true){
> var g = 1;
> /* block comment at block end */
> }
> ok 5955 lines-around-comment valid if(true){
> var g = 1;
> 
> /* block comment at block end */
> }
> ok 5956 lines-around-comment valid while(true){
> 
> var g = 1;
> 
> /* 
> block comment at block end
>  */}
> ok 5957 lines-around-comment valid class B {
> constructor() {}
> 
> /**
> * hi
>  */
> }
> ok 5958 lines-around-comment valid class B {
> constructor() {}
> 
> /**
> * hi
>  */
> }
> ok 5959 lines-around-comment valid class B {
> constructor() {}
> 
> /**
> * hi
>  */
> }
> ok 5960 lines-around-comment valid switch ('foo'){
> case 'foo':
> var g = 1;
> 
> /* block comment at switch case end */
> }
> ok 5961 lines-around-comment valid switch ('foo'){
> case 'foo':
> var g = 1;
> 
> /* block comment at switch case end */
> 
> }
> ok 5962 lines-around-comment valid switch ('foo'){
> case 'foo':
> break;
> 
> default:
> var g = 1;
> 
> /* block comment at switch case end */
> }
> ok 5963 lines-around-comment valid switch ('foo'){
> case 'foo':
> break;
> 
> default:
> var g = 1;
> 
> /* block comment at switch case end */
> 
> }
> ok 5964 lines-around-comment valid var a,
> 
> // line
> b;
> ok 5965 lines-around-comment valid var obj = {
>   // line at object start
>   g: 1
> };
> ok 5966 lines-around-comment valid function hi() {
>   return {
>     // hi
>     test: function() {
>     }
>   }
> }
> ok 5967 lines-around-comment valid var obj = {
>   /* block comment at object start*/
>   g: 1
> };
> ok 5968 lines-around-comment valid function hi() {
>   return {
>     /**
>     * hi
>     */
>     test: function() {
>     }
>   }
> }
> ok 5969 lines-around-comment valid const {
>   // line at object start
>   g: a
> } = {};
> ok 5970 lines-around-comment valid const {
>   // line at object start
>   g
> } = {};
> ok 5971 lines-around-comment valid const {
>   /* block comment at object-like start*/
>   g: a
> } = {};
> ok 5972 lines-around-comment valid const {
>   /* block comment at object-like start*/
>   g
> } = {};
> ok 5973 lines-around-comment valid var a,
> // line
> 
> b;
> ok 5974 lines-around-comment valid var obj = {
>   g: 1
>   // line at object end
> };
> ok 5975 lines-around-comment valid function hi() {
>   return {
>     test: function() {
>     }
>     // hi
>   }
> }
> ok 5976 lines-around-comment valid var obj = {
>   g: 1
>   
>   /* block comment at object end*/
> };
> ok 5977 lines-around-comment valid function hi() {
>   return {
>     test: function() {
>     }
>     
>     /**
>     * hi
>     */
>   }
> }
> ok 5978 lines-around-comment valid const {
>   g: a
>   // line at object end
> } = {};
> ok 5979 lines-around-comment valid const {
>   g
>   // line at object end
> } = {};
> ok 5980 lines-around-comment valid const {
>   g: a
>   
>   /* block comment at object-like end*/
> } = {};
> ok 5981 lines-around-comment valid const {
>   g
>   
>   /* block comment at object-like end*/
> } = {};
> ok 5982 lines-around-comment valid var a,
> 
> // line
> b;
> ok 5983 lines-around-comment valid var arr = [
>   // line at array start
>   1
> ];
> ok 5984 lines-around-comment valid var arr = [
>   /* block comment at array start*/
>   1
> ];
> ok 5985 lines-around-comment valid const [
>   // line at array start
>   a
> ] = [];
> ok 5986 lines-around-comment valid const [
>   /* block comment at array start*/
>   a
> ] = [];
> ok 5987 lines-around-comment valid var a,
> // line
> 
> b;
> ok 5988 lines-around-comment valid var arr = [
>   1
>   // line at array end
> ];
> ok 5989 lines-around-comment valid var arr = [
>   1
>   
>   /* block comment at array end*/
> ];
> ok 5990 lines-around-comment valid const [
>   a
>   // line at array end
> ] = [];
> ok 5991 lines-around-comment valid const [
>   a
>   
>   /* block comment at array end*/
> ] = [];
> ok 5992 lines-around-comment valid foo;
> 
> /* eslint-disable no-underscore-dangle */
> 
> this._values = values;
> this._values2 = true;
> /* eslint-enable no-underscore-dangle */
> bar
> ok 5993 lines-around-comment valid foo;
> /* eslint */
> ok 5994 lines-around-comment valid foo;
> /* jshint */
> ok 5995 lines-around-comment valid foo;
> /* jslint */
> ok 5996 lines-around-comment valid foo;
> /* istanbul */
> ok 5997 lines-around-comment valid foo;
> /* global */
> ok 5998 lines-around-comment valid foo;
> /* globals */
> ok 5999 lines-around-comment valid foo;
> /* exported */
> ok 6000 lines-around-comment valid foo;
> /* jscs */
> ok 6001 lines-around-comment valid foo
> /* this is pragmatic */
> ok 6002 lines-around-comment valid foo
> /* this is pragmatic */
> ok 6003 lines-around-comment invalid bar()
> /** block block block
>  * block 
>  */
> var a = 1;
> ok 6004 lines-around-comment invalid baz()
> // A line comment with no empty line after
> var a = 1;
> ok 6005 lines-around-comment invalid baz()
> // A line comment with no empty line after
> var a = 1;
> ok 6006 lines-around-comment invalid // A line comment with no empty line after
> var a = 1;
> ok 6007 lines-around-comment invalid baz()
> // A line comment with no empty line after
> var a = 1;
> ok 6008 lines-around-comment invalid bar()
> /**
>  * block block block
>  */
> var a = 1;
> ok 6009 lines-around-comment invalid bar()
> /* first block comment */ /* second block comment */
> var a = 1;
> ok 6010 lines-around-comment invalid bar()
> /* first block comment */ /* second block
>  comment */
> var a = 1;
> ok 6011 lines-around-comment invalid bar()
> /**
>  * block block block
>  */
> var a = 1;
> ok 6012 lines-around-comment invalid bar()
> /**
>  * block block block
>  */
> var a = 1;
> ok 6013 lines-around-comment invalid var a,
> // line
> b;
> ok 6014 lines-around-comment invalid function foo(){
> var a = 1;
> // line at block start
> var g = 1;
> }
> ok 6015 lines-around-comment invalid var a,
> // line
> b;
> ok 6016 lines-around-comment invalid function foo(){
> var a = 1;
> 
> // line at block start
> var g = 1;
> }
> ok 6017 lines-around-comment invalid switch ('foo'){
> case 'foo':
> // line at switch case start
> break;
> }
> ok 6018 lines-around-comment invalid switch ('foo'){
> case 'foo':
> break;
> 
> default:
> // line at switch case start
> break;
> }
> ok 6019 lines-around-comment invalid while(true){
> // line at block start and end
> }
> ok 6020 lines-around-comment invalid while(true){
> // line at block start and end
> }
> ok 6021 lines-around-comment invalid class A {
> // line at class start
> constructor() {}
> }
> ok 6022 lines-around-comment invalid class A {
> // line at class start
> constructor() {}
> }
> ok 6023 lines-around-comment invalid class B {
> constructor() {}
> 
> // line at class end
> }
> ok 6024 lines-around-comment invalid class B {
> constructor() {}
> 
> // line at class end
> }
> ok 6025 lines-around-comment invalid switch ('foo'){
> case 'foo':
> var g = 1;
> 
> // line at switch case end
> }
> ok 6026 lines-around-comment invalid switch ('foo'){
> case 'foo':
> break;
> 
> default:
> var g = 1;
> 
> // line at switch case end
> }
> ok 6027 lines-around-comment invalid var obj = {
>   // line at object start
>   g: 1
> };
> ok 6028 lines-around-comment invalid function hi() {
>   return {
>     // hi
>     test: function() {
>     }
>   }
> }
> ok 6029 lines-around-comment invalid var obj = {
>   /* block comment at object start*/
>   g: 1
> };
> ok 6030 lines-around-comment invalid function hi() {
>   return {
>     /**
>     * hi
>     */
>     test: function() {
>     }
>   }
> }
> ok 6031 lines-around-comment invalid const {
>   // line at object start
>   g: a
> } = {};
> ok 6032 lines-around-comment invalid const {
>   // line at object start
>   g
> } = {};
> ok 6033 lines-around-comment invalid const {
>   /* block comment at object-like start*/
>   g: a
> } = {};
> ok 6034 lines-around-comment invalid const {
>   /* block comment at object-like start*/
>   g
> } = {};
> ok 6035 lines-around-comment invalid var obj = {
>   g: 1
>   // line at object end
> };
> ok 6036 lines-around-comment invalid function hi() {
>   return {
>     test: function() {
>     }
>     // hi
>   }
> }
> ok 6037 lines-around-comment invalid var obj = {
>   g: 1
>   
>   /* block comment at object end*/
> };
> ok 6038 lines-around-comment invalid function hi() {
>   return {
>     test: function() {
>     }
>     
>     /**
>     * hi
>     */
>   }
> }
> ok 6039 lines-around-comment invalid const {
>   g: a
>   // line at object end
> } = {};
> ok 6040 lines-around-comment invalid const {
>   g
>   // line at object end
> } = {};
> ok 6041 lines-around-comment invalid const {
>   g: a
>   
>   /* block comment at object-like end*/
> } = {};
> ok 6042 lines-around-comment invalid const {
>   g
>   
>   /* block comment at object-like end*/
> } = {};
> ok 6043 lines-around-comment invalid var arr = [
>   // line at array start
>   1
> ];
> ok 6044 lines-around-comment invalid var arr = [
>   /* block comment at array start*/
>   1
> ];
> ok 6045 lines-around-comment invalid const [
>   // line at array start
>   a
> ] = [];
> ok 6046 lines-around-comment invalid const [
>   /* block comment at array start*/
>   a
> ] = [];
> ok 6047 lines-around-comment invalid var arr = [
>   1
>   // line at array end
> ];
> ok 6048 lines-around-comment invalid var arr = [
>   1
>   
>   /* block comment at array end*/
> ];
> ok 6049 lines-around-comment invalid const [
>   a
>   // line at array end
> ] = [];
> ok 6050 lines-around-comment invalid const [
>   a
>   
>   /* block comment at array end*/
> ] = [];
> ok 6051 lines-around-comment invalid foo;
> 
> /* eslint-disable no-underscore-dangle */
> 
> this._values = values;
> this._values2 = true;
> /* eslint-enable no-underscore-dangle */
> bar
> ok 6052 lines-around-comment invalid foo;
> /* eslint */
> ok 6053 lines-around-comment invalid foo;
> /* jshint */
> ok 6054 lines-around-comment invalid foo;
> /* jslint */
> ok 6055 lines-around-comment invalid foo;
> /* istanbul */
> ok 6056 lines-around-comment invalid foo;
> /* global */
> ok 6057 lines-around-comment invalid foo;
> /* globals */
> ok 6058 lines-around-comment invalid foo;
> /* exported */
> ok 6059 lines-around-comment invalid foo;
> /* jscs */
> ok 6060 lines-around-comment invalid foo
> /* something else */
> ok 6061 lines-around-comment invalid foo
> /* eslint */
> ok 6062 lines-around-comment invalid foo;
> /* fallthrough */
> ok 6063 lines-around-directive valid //comment
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6064 lines-around-directive valid 'use strict';
> 
> var foo;
> ok 6065 lines-around-directive valid 
> 'use strict';
> 
> var foo;
> ok 6066 lines-around-directive valid 'use strict';
> 
> //comment
> var foo;
> ok 6067 lines-around-directive valid 'use strict';
> 
> /*
> multiline comment
> */
> var foo;
> ok 6068 lines-around-directive valid 'use strict';
> 'use asm';
> 
> var foo;
> ok 6069 lines-around-directive valid 
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6070 lines-around-directive valid 'use strict';
> 'use asm';
> 
> //comment
> var foo;
> ok 6071 lines-around-directive valid 'use strict';
> 'use asm';
> 
> /*
> multiline comment
> */
> var foo;
> ok 6072 lines-around-directive valid !/usr/bin/env node
> 
> 'use strict';
> 
> var foo;
> ok 6073 lines-around-directive valid !/usr/bin/env node
> //comment
> 
> 'use strict';
> 
> var foo;
> ok 6074 lines-around-directive valid //comment
> 
> 'use strict';
> 
> var foo;
> ok 6075 lines-around-directive valid /*
> multiline comment
> */
> 
> 'use strict';
> 
> var foo;
> ok 6076 lines-around-directive valid !/usr/bin/env node
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6077 lines-around-directive valid !/usr/bin/env node
> //comment
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6078 lines-around-directive valid //comment
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6079 lines-around-directive valid /*
> multiline comment
> */
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6080 lines-around-directive valid function foo() {
> 'use strict';
> 
> var bar;
> }
> ok 6081 lines-around-directive valid function foo() {
> 
> 'use strict';
> 
> var bar;
> }
> ok 6082 lines-around-directive valid () => {
> 'use strict';
> 
> var foo;
> }
> ok 6083 lines-around-directive valid () => {
> 
> 'use strict';
> 
> var foo;
> }
> ok 6084 lines-around-directive valid function foo() {
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6085 lines-around-directive valid function foo() {
> 
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6086 lines-around-directive valid () => {
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6087 lines-around-directive valid () => {
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6088 lines-around-directive valid function foo() {
> //comment
> 
> 'use strict';
> 
> var bar;
> }
> ok 6089 lines-around-directive valid function foo() {
> /*
> multiline comment
> */
> 
> 'use strict';
> 
> var bar;
> }
> ok 6090 lines-around-directive valid () => {
> //comment
> 
> 'use strict';
> 
> var foo;
> }
> ok 6091 lines-around-directive valid () => {
> /*
> multiline comment
> */
> 
> 'use strict';
> 
> var foo;
> }
> ok 6092 lines-around-directive valid function foo() {
> //comment
> 
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6093 lines-around-directive valid function foo() {
> /*
> multiline comment
> */
> 
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6094 lines-around-directive valid () => {
> //comment
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6095 lines-around-directive valid () => {
> /*
> multiline comment
> */
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6096 lines-around-directive valid /*
>  * JSDoc comment
>  */
> function foo() {
> 'use strict';
> 
> var bar;
> }
> ok 6097 lines-around-directive valid function foo() {
> 'use strict';
> }
> ok 6098 lines-around-directive valid 'use strict';
> var foo;
> ok 6099 lines-around-directive valid 'use strict';
> //comment
> var foo;
> ok 6100 lines-around-directive valid 'use strict';
> /*
> multiline comment
> */
> var foo;
> ok 6101 lines-around-directive valid 'use strict';
> 'use asm';
> var foo;
> ok 6102 lines-around-directive valid 'use strict';
> 'use asm';
> //comment
> var foo;
> ok 6103 lines-around-directive valid 'use strict';
> 'use asm';
> /*
> multiline comment
> */
> var foo;
> ok 6104 lines-around-directive valid !/usr/bin/env node
> 'use strict';
> var foo;
> ok 6105 lines-around-directive valid !/usr/bin/env node
> //comment
> 'use strict';
> var foo;
> ok 6106 lines-around-directive valid //comment
> 'use strict';
> var foo;
> ok 6107 lines-around-directive valid /*
> multiline comment
> */
> 'use strict';
> var foo;
> ok 6108 lines-around-directive valid !/usr/bin/env node
> 'use strict';
> 'use asm';
> var foo;
> ok 6109 lines-around-directive valid !/usr/bin/env node
> //comment
> 'use strict';
> 'use asm';
> var foo;
> ok 6110 lines-around-directive valid //comment
> 'use strict';
> 'use asm';
> var foo;
> ok 6111 lines-around-directive valid /*
> multiline comment
> */
> 'use strict';
> 'use asm';
> var foo;
> ok 6112 lines-around-directive valid function foo() {
> 'use strict';
> var bar;
> }
> ok 6113 lines-around-directive valid function foo() {
> 
> 'use strict';
> var bar;
> }
> ok 6114 lines-around-directive valid () => {
> 'use strict';
> var foo;
> }
> ok 6115 lines-around-directive valid () => {
> 
> 'use strict';
> var foo;
> }
> ok 6116 lines-around-directive valid function foo() {
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6117 lines-around-directive valid function foo() {
> 
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6118 lines-around-directive valid () => {
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6119 lines-around-directive valid () => {
> 
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6120 lines-around-directive valid function foo() {
> //comment
> 'use strict';
> var bar;
> }
> ok 6121 lines-around-directive valid function foo() {
> /*
> multiline comment
> */
> 'use strict';
> var bar;
> }
> ok 6122 lines-around-directive valid () => {
> //comment
> 'use strict';
> var foo;
> }
> ok 6123 lines-around-directive valid () => {
> /*
> multiline comment
> */
> 'use strict';
> var foo;
> }
> ok 6124 lines-around-directive valid function foo() {
> //comment
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6125 lines-around-directive valid function foo() {
> /*
> multiline comment
> */
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6126 lines-around-directive valid () => {
> //comment
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6127 lines-around-directive valid () => {
> /*
> multiline comment
> */
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6128 lines-around-directive valid //comment
> 'use strict';
> 
> 'use asm';
> var foo;
> ok 6129 lines-around-directive valid /*
>  * JSDoc comment
>  */
> function foo() {
> 'use strict';
> var bar;
> }
> ok 6130 lines-around-directive valid function foo() {
> 
> 'use strict';
> 
> }
> ok 6131 lines-around-directive valid 'use strict';
> 
> var foo;
> ok 6132 lines-around-directive valid 'use strict';
> 
> //comment
> var foo;
> ok 6133 lines-around-directive valid 'use strict';
> 
> /*
> multiline comment
> */
> var foo;
> ok 6134 lines-around-directive valid 'use strict';
> 'use asm';
> 
> var foo;
> ok 6135 lines-around-directive valid 'use strict';
> 'use asm';
> 
> //comment
> var foo;
> ok 6136 lines-around-directive valid 'use strict';
> 'use asm';
> 
> /*
> multiline comment
> */
> var foo;
> ok 6137 lines-around-directive valid !/usr/bin/env node
> 'use strict';
> 
> var foo;
> ok 6138 lines-around-directive valid //comment
> 'use strict';
> 
> var foo;
> ok 6139 lines-around-directive valid /*
> multiline comment
> */
> 'use strict';
> 
> var foo;
> ok 6140 lines-around-directive valid !/usr/bin/env node
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6141 lines-around-directive valid //comment
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6142 lines-around-directive valid /*
> multiline comment
> */
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6143 lines-around-directive valid function foo() {
> 'use strict';
> 
> var bar;
> }
> ok 6144 lines-around-directive valid function foo() {
> 
> 'use strict';
> 
> var bar;
> }
> ok 6145 lines-around-directive valid () => {
> 'use strict';
> 
> var foo;
> }
> ok 6146 lines-around-directive valid () => {
> 
> 'use strict';
> 
> var foo;
> }
> ok 6147 lines-around-directive valid function foo() {
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6148 lines-around-directive valid function foo() {
> 
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6149 lines-around-directive valid () => {
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6150 lines-around-directive valid () => {
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6151 lines-around-directive valid function foo() {
> //comment
> 'use strict';
> 
> var bar;
> }
> ok 6152 lines-around-directive valid function foo() {
> /*
> multiline comment
> */
> 'use strict';
> 
> var bar;
> }
> ok 6153 lines-around-directive valid () => {
> //comment
> 'use strict';
> 
> var foo;
> }
> ok 6154 lines-around-directive valid () => {
> /*
> multiline comment
> */
> 'use strict';
> 
> var foo;
> }
> ok 6155 lines-around-directive valid function foo() {
> //comment
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6156 lines-around-directive valid function foo() {
> /*
> multiline comment
> */
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6157 lines-around-directive valid () => {
> //comment
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6158 lines-around-directive valid () => {
> /*
> multiline comment
> */
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6159 lines-around-directive valid 'use strict';
> var foo;
> ok 6160 lines-around-directive valid 
> 'use strict';
> var foo;
> ok 6161 lines-around-directive valid 'use strict';
> //comment
> var foo;
> ok 6162 lines-around-directive valid 'use strict';
> /*
> multiline comment
> */
> var foo;
> ok 6163 lines-around-directive valid 'use strict';
> 'use asm';
> var foo;
> ok 6164 lines-around-directive valid 
> 'use strict';
> 'use asm';
> var foo;
> ok 6165 lines-around-directive valid 'use strict';
> 'use asm';
> //comment
> var foo;
> ok 6166 lines-around-directive valid 'use strict';
> 'use asm';
> /*
> multiline comment
> */
> var foo;
> ok 6167 lines-around-directive valid !/usr/bin/env node
> 
> 'use strict';
> var foo;
> ok 6168 lines-around-directive valid //comment
> 
> 'use strict';
> var foo;
> ok 6169 lines-around-directive valid /*
> multiline comment
> */
> 
> 'use strict';
> var foo;
> ok 6170 lines-around-directive valid !/usr/bin/env node
> 
> 'use strict';
> 'use asm';
> var foo;
> ok 6171 lines-around-directive valid //comment
> 
> 'use strict';
> 'use asm';
> var foo;
> ok 6172 lines-around-directive valid /*
> multiline comment
> */
> 
> 'use strict';
> 'use asm';
> var foo;
> ok 6173 lines-around-directive valid function foo() {
> 'use strict';
> var bar;
> }
> ok 6174 lines-around-directive valid function foo() {
> 
> 'use strict';
> var bar;
> }
> ok 6175 lines-around-directive valid () => {
> 'use strict';
> var foo;
> }
> ok 6176 lines-around-directive valid () => {
> 
> 'use strict';
> var foo;
> }
> ok 6177 lines-around-directive valid function foo() {
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6178 lines-around-directive valid function foo() {
> 
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6179 lines-around-directive valid () => {
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6180 lines-around-directive valid () => {
> 
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6181 lines-around-directive valid function foo() {
> //comment
> 
> 'use strict';
> var bar;
> }
> ok 6182 lines-around-directive valid function foo() {
> /*
> multiline comment
> */
> 
> 'use strict';
> var bar;
> }
> ok 6183 lines-around-directive valid () => {
> //comment
> 
> 'use strict';
> var foo;
> }
> ok 6184 lines-around-directive valid () => {
> /*
> multiline comment
> */
> 
> 'use strict';
> var foo;
> }
> ok 6185 lines-around-directive valid function foo() {
> //comment
> 
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6186 lines-around-directive valid function foo() {
> /*
> multiline comment
> */
> 
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6187 lines-around-directive valid () => {
> //comment
> 
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6188 lines-around-directive valid () => {
> /*
> multiline comment
> */
> 
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6189 lines-around-directive valid 'use strict'
> 
> ;foo();
> ok 6190 lines-around-directive valid 'use strict'
> ;foo();
> ok 6191 lines-around-directive invalid 'use strict';
> var foo;
> ok 6192 lines-around-directive invalid 'use strict';
> //comment
> var foo;
> ok 6193 lines-around-directive invalid 'use strict';
> /*
> multiline comment
> */
> var foo;
> ok 6194 lines-around-directive invalid 'use strict';
> 'use asm';
> var foo;
> ok 6195 lines-around-directive invalid 'use strict';
> 'use asm';
> //comment
> var foo;
> ok 6196 lines-around-directive invalid 'use strict';
> 'use asm';
> /*
> multiline comment
> */
> var foo;
> ok 6197 lines-around-directive invalid !/usr/bin/env node
> 'use strict';
> var foo;
> ok 6198 lines-around-directive invalid !/usr/bin/env node
> //comment
> 'use strict';
> var foo;
> ok 6199 lines-around-directive invalid //comment
> 'use strict';
> var foo;
> ok 6200 lines-around-directive invalid /*
> multiline comment
> */
> 'use strict';
> var foo;
> ok 6201 lines-around-directive invalid !/usr/bin/env node
> 'use strict';
> 'use asm';
> var foo;
> ok 6202 lines-around-directive invalid !/usr/bin/env node
> //comment
> 'use strict';
> 'use asm';
> var foo;
> ok 6203 lines-around-directive invalid //comment
> 'use strict';
> 'use asm';
> var foo;
> ok 6204 lines-around-directive invalid /*
> multiline comment
> */
> 'use strict';
> 'use asm';
> var foo;
> ok 6205 lines-around-directive invalid function foo() {
> 'use strict';
> var bar;
> }
> ok 6206 lines-around-directive invalid () => {
> 'use strict';
> var foo;
> }
> ok 6207 lines-around-directive invalid function foo() {
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6208 lines-around-directive invalid () => {
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6209 lines-around-directive invalid function foo() {
> //comment
> 'use strict';
> var bar;
> }
> ok 6210 lines-around-directive invalid function foo() {
> /*
> multiline comment
> */
> 'use strict';
> var bar;
> }
> ok 6211 lines-around-directive invalid () => {
> //comment
> 'use strict';
> var foo;
> }
> ok 6212 lines-around-directive invalid () => {
> /*
> multiline comment
> */
> 'use strict';
> var foo;
> }
> ok 6213 lines-around-directive invalid function foo() {
> //comment
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6214 lines-around-directive invalid function foo() {
> /*
> multiline comment
> */
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6215 lines-around-directive invalid () => {
> //comment
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6216 lines-around-directive invalid () => {
> /*
> multiline comment
> */
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6217 lines-around-directive invalid 'use strict';
> 
> var foo;
> ok 6218 lines-around-directive invalid 'use strict';
> 
> //comment
> var foo;
> ok 6219 lines-around-directive invalid 'use strict';
> 
> /*
> multiline comment
> */
> var foo;
> ok 6220 lines-around-directive invalid 'use strict';
> 'use asm';
> 
> var foo;
> ok 6221 lines-around-directive invalid 'use strict';
> 'use asm';
> 
> //comment
> var foo;
> ok 6222 lines-around-directive invalid 'use strict';
> 'use asm';
> 
> /*
> multiline comment
> */
> var foo;
> ok 6223 lines-around-directive invalid !/usr/bin/env node
> 
> 'use strict';
> 
> var foo;
> ok 6224 lines-around-directive invalid !/usr/bin/env node
> //comment
> 
> 'use strict';
> 
> var foo;
> ok 6225 lines-around-directive invalid //comment
> 
> 'use strict';
> 
> var foo;
> ok 6226 lines-around-directive invalid /*
> multiline comment
> */
> 
> 'use strict';
> 
> var foo;
> ok 6227 lines-around-directive invalid !/usr/bin/env node
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6228 lines-around-directive invalid !/usr/bin/env node
> //comment
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6229 lines-around-directive invalid //comment
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6230 lines-around-directive invalid /*
> multiline comment
> */
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6231 lines-around-directive invalid function foo() {
> 'use strict';
> 
> var bar;
> }
> ok 6232 lines-around-directive invalid () => {
> 'use strict';
> 
> var foo;
> }
> ok 6233 lines-around-directive invalid function foo() {
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6234 lines-around-directive invalid () => {
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6235 lines-around-directive invalid function foo() {
> //comment
> 
> 'use strict';
> 
> var bar;
> }
> ok 6236 lines-around-directive invalid function foo() {
> /*
> multiline comment
> */
> 
> 'use strict';
> 
> var bar;
> }
> ok 6237 lines-around-directive invalid () => {
> //comment
> 
> 'use strict';
> 
> var foo;
> }
> ok 6238 lines-around-directive invalid () => {
> /*
> multiline comment
> */
> 
> 'use strict';
> 
> var foo;
> }
> ok 6239 lines-around-directive invalid function foo() {
> //comment
> 
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6240 lines-around-directive invalid function foo() {
> /*
> multiline comment
> */
> 
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6241 lines-around-directive invalid () => {
> //comment
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6242 lines-around-directive invalid () => {
> /*
> multiline comment
> */
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6243 lines-around-directive invalid 'use strict';
> var foo;
> ok 6244 lines-around-directive invalid 'use strict';
> //comment
> var foo;
> ok 6245 lines-around-directive invalid 'use strict';
> /*
> multiline comment
> */
> var foo;
> ok 6246 lines-around-directive invalid 'use strict';
> 'use asm';
> var foo;
> ok 6247 lines-around-directive invalid 'use strict';
> 'use asm';
> //comment
> var foo;
> ok 6248 lines-around-directive invalid 'use strict';
> 'use asm';
> /*
> multiline comment
> */
> var foo;
> ok 6249 lines-around-directive invalid !/usr/bin/env node
> 
> 'use strict';
> var foo;
> ok 6250 lines-around-directive invalid //comment
> 
> 'use strict';
> var foo;
> ok 6251 lines-around-directive invalid /*
> multiline comment
> */
> 
> 'use strict';
> var foo;
> ok 6252 lines-around-directive invalid !/usr/bin/env node
> 
> 'use strict';
> 'use asm';
> var foo;
> ok 6253 lines-around-directive invalid //comment
> 
> 'use strict';
> 'use asm';
> var foo;
> ok 6254 lines-around-directive invalid /*
> multiline comment
> */
> 
> 'use strict';
> 'use asm';
> var foo;
> ok 6255 lines-around-directive invalid function foo() {
> 'use strict';
> var bar;
> }
> ok 6256 lines-around-directive invalid function foo() {
> 
> 'use strict';
> var bar;
> }
> ok 6257 lines-around-directive invalid () => {
> 'use strict';
> var foo;
> }
> ok 6258 lines-around-directive invalid () => {
> 
> 'use strict';
> var foo;
> }
> ok 6259 lines-around-directive invalid function foo() {
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6260 lines-around-directive invalid function foo() {
> 
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6261 lines-around-directive invalid () => {
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6262 lines-around-directive invalid () => {
> 
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6263 lines-around-directive invalid function foo() {
> //comment
> 
> 'use strict';
> var bar;
> }
> ok 6264 lines-around-directive invalid function foo() {
> /*
> multiline comment
> */
> 
> 'use strict';
> var bar;
> }
> ok 6265 lines-around-directive invalid () => {
> //comment
> 
> 'use strict';
> var foo;
> }
> ok 6266 lines-around-directive invalid () => {
> /*
> multiline comment
> */
> 
> 'use strict';
> var foo;
> }
> ok 6267 lines-around-directive invalid function foo() {
> //comment
> 
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6268 lines-around-directive invalid function foo() {
> /*
> multiline comment
> */
> 
> 'use strict';
> 'use asm';
> var bar;
> }
> ok 6269 lines-around-directive invalid () => {
> //comment
> 
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6270 lines-around-directive invalid () => {
> /*
> multiline comment
> */
> 
> 'use strict';
> 'use asm';
> var foo;
> }
> ok 6271 lines-around-directive invalid 'use strict';
> 
> var foo;
> ok 6272 lines-around-directive invalid 'use strict';
> 
> //comment
> var foo;
> ok 6273 lines-around-directive invalid 'use strict';
> 
> /*
> multiline comment
> */
> var foo;
> ok 6274 lines-around-directive invalid 'use strict';
> 'use asm';
> 
> var foo;
> ok 6275 lines-around-directive invalid 'use strict';
> 'use asm';
> 
> //comment
> var foo;
> ok 6276 lines-around-directive invalid 'use strict';
> 'use asm';
> 
> /*
> multiline comment
> */
> var foo;
> ok 6277 lines-around-directive invalid !/usr/bin/env node
> 'use strict';
> 
> var foo;
> ok 6278 lines-around-directive invalid //comment
> 'use strict';
> 
> var foo;
> ok 6279 lines-around-directive invalid /*
> multiline comment
> */
> 'use strict';
> 
> var foo;
> ok 6280 lines-around-directive invalid !/usr/bin/env node
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6281 lines-around-directive invalid //comment
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6282 lines-around-directive invalid /*
> multiline comment
> */
> 'use strict';
> 'use asm';
> 
> var foo;
> ok 6283 lines-around-directive invalid function foo() {
> 'use strict';
> 
> var bar;
> }
> ok 6284 lines-around-directive invalid function foo() {
> 
> 'use strict';
> 
> var bar;
> }
> ok 6285 lines-around-directive invalid () => {
> 'use strict';
> 
> var foo;
> }
> ok 6286 lines-around-directive invalid () => {
> 
> 'use strict';
> 
> var foo;
> }
> ok 6287 lines-around-directive invalid function foo() {
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6288 lines-around-directive invalid function foo() {
> 
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6289 lines-around-directive invalid () => {
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6290 lines-around-directive invalid () => {
> 
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6291 lines-around-directive invalid function foo() {
> //comment
> 'use strict';
> 
> var bar;
> }
> ok 6292 lines-around-directive invalid function foo() {
> /*
> multiline comment
> */
> 'use strict';
> 
> var bar;
> }
> ok 6293 lines-around-directive invalid () => {
> //comment
> 'use strict';
> 
> var foo;
> }
> ok 6294 lines-around-directive invalid () => {
> /*
> multiline comment
> */
> 'use strict';
> 
> var foo;
> }
> ok 6295 lines-around-directive invalid function foo() {
> //comment
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6296 lines-around-directive invalid function foo() {
> /*
> multiline comment
> */
> 'use strict';
> 'use asm';
> 
> var bar;
> }
> ok 6297 lines-around-directive invalid () => {
> //comment
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6298 lines-around-directive invalid () => {
> /*
> multiline comment
> */
> 'use strict';
> 'use asm';
> 
> var foo;
> }
> ok 6299 lines-around-directive invalid 'use strict'
> 
> ;foo();
> ok 6300 lines-around-directive invalid 'use strict'
> ;foo();
> ok 6301 lines-around-directive invalid 'use strict'
> ;
> foo();
> ok 6302 lines-between-class-members valid class foo{}
> ok 6303 lines-between-class-members valid class foo{;;}
> ok 6304 lines-between-class-members valid class foo{
> 
> }
> ok 6305 lines-between-class-members valid class foo{constructor(){}
> }
> ok 6306 lines-between-class-members valid class foo{
> constructor(){}}
> ok 6307 lines-between-class-members valid class foo{ bar(){}
> 
> baz(){}}
> ok 6308 lines-between-class-members valid class foo{ bar(){}
> 
> /*comments*/baz(){}}
> ok 6309 lines-between-class-members valid class foo{ bar(){}
> 
> //comments
> baz(){}}
> ok 6310 lines-between-class-members valid class foo{ bar(){}
> //comments
> 
> baz(){}}
> ok 6311 lines-between-class-members valid class A{ foo() {} // a comment
> 
> bar() {}}
> ok 6312 lines-between-class-members valid class A{ foo() {}
> /* a */ /* b */
> 
> bar() {}}
> ok 6313 lines-between-class-members valid class A{ foo() {}/* a */ 
> 
>  /* b */bar() {}}
> ok 6314 lines-between-class-members valid class foo{ bar(){}
> 
> ;;baz(){}}
> ok 6315 lines-between-class-members valid class foo{ bar(){};
> 
> baz(){}}
> ok 6316 lines-between-class-members valid class foo{ bar(){}
> baz(){}}
> ok 6317 lines-between-class-members valid class foo{ bar(){}
> /*comments*/baz(){}}
> ok 6318 lines-between-class-members valid class foo{ bar(){}
> //comments
> baz(){}}
> ok 6319 lines-between-class-members valid class foo{ bar(){}/* comments
> 
> */baz(){}}
> ok 6320 lines-between-class-members valid class foo{ bar(){}/* 
> comments
> */baz(){}}
> ok 6321 lines-between-class-members valid class foo{ bar(){}
> /* 
> comments
> */
> baz(){}}
> ok 6322 lines-between-class-members valid class foo{ bar(){}
> 
> baz(){}}
> ok 6323 lines-between-class-members valid class foo{ bar(){}
> 
> /*comments*/baz(){}}
> ok 6324 lines-between-class-members valid class foo{ bar(){}
> 
> //comments
> baz(){}}
> ok 6325 lines-between-class-members valid class foo{ bar(){}
> baz(){}}
> ok 6326 lines-between-class-members valid class foo{ bar(){
> }
> 
> baz(){}}
> ok 6327 lines-between-class-members invalid class foo{ bar(){}
> baz(){}}
> ok 6328 lines-between-class-members invalid class foo{ bar(){}
> 
> baz(){}}
> ok 6329 lines-between-class-members invalid class foo{ bar(){
> }
> baz(){}}
> ok 6330 max-classes-per-file valid class Foo {}
> ok 6331 max-classes-per-file valid var x = class {};
> ok 6332 max-classes-per-file valid var x = 5;
> ok 6333 max-classes-per-file valid class Foo {}
> ok 6334 max-classes-per-file valid class Foo {}
> class Bar {}
> ok 6335 max-classes-per-file invalid class Foo {}
> class Bar {}
> ok 6336 max-classes-per-file invalid var x = class {};
> var y = class {};
> ok 6337 max-classes-per-file invalid class Foo {}
> var x = class {};
> ok 6338 max-classes-per-file invalid class Foo {} class Bar {}
> ok 6339 max-classes-per-file invalid class Foo {} class Bar {} class Baz {}
> ok 6340 max-depth valid function foo() { if (true) { if (false) { if (true) { } } } }
> ok 6341 max-depth valid function foo() { if (true) { } else if (false) { } else if (true) { } else if (false) {} }
> ok 6342 max-depth valid var foo = () => { if (true) { if (false) { if (true) { } } } }
> ok 6343 max-depth valid function foo() { if (true) { if (false) { if (true) { } } } }
> ok 6344 max-depth valid function foo() { if (true) { if (false) { if (true) { } } } }
> ok 6345 max-depth invalid function foo() { if (true) { if (false) { if (true) { } } } }
> ok 6346 max-depth invalid var foo = () => { if (true) { if (false) { if (true) { } } } }
> ok 6347 max-depth invalid function foo() { if (true) {} else { for(;;) {} } }
> ok 6348 max-depth invalid function foo() { while (true) { if (true) {} } }
> ok 6349 max-depth invalid function foo() { for (let x of foo) { if (true) {} } }
> ok 6350 max-depth invalid function foo() { while (true) { if (true) { if (false) { } } } }
> ok 6351 max-depth invalid function foo() { if (true) { if (false) { if (true) { if (false) { if (true) { } } } } } }
> ok 6352 max-depth invalid function foo() { if (true) { if (false) { if (true) { } } } }
> ok 6353 max-depth invalid function foo() { if (a) { if (b) { if (c) { if (d) { if (e) {} } } } } }
> ok 6354 max-depth invalid function foo() { if (true) {} }
> ok 6355 max-len valid var x = 5;
> var x = 2;
> ok 6356 max-len valid var x = 5;
> var x = 2;
> ok 6357 max-len valid 			var i = 1;
> 			var j = 1;
> ok 6358 max-len valid var one		= 1;
> var three	= 3;
> ok 6359 max-len valid 	var one		= 1;
> 	var three	= 3;
> ok 6360 max-len valid var i = 1;
> 
> var i = 1;
> 
> ok 6361 max-len valid 
> // Blank line on top
> var foo = module.exports = {};
> 
> ok 6362 max-len valid 
> // Blank line on top
> var foo = module.exports = {};
> 
> ok 6363 max-len valid var foo = module.exports = {}; // really long trailing comment
> ok 6364 max-len valid foo(); 	// strips entire comment *and* trailing whitespace
> ok 6365 max-len valid // really long comment on its own line sitting here
> ok 6366 max-len valid var /*inline-comment*/ i = 1;
> ok 6367 max-len valid var /*inline-comment*/ i = 1; // with really long trailing comment
> ok 6368 max-len valid foo('http://example.com/this/is/?a=longish&url=inhere');
> ok 6369 max-len valid foo(bar(bazz('this is a long'), 'line of'), 'stuff');
> ok 6370 max-len valid /* hey there! this is a multiline
>    comment with longish lines in various places
>    but
>    with a short line-length */
> ok 6371 max-len valid // I like short comments
> function butLongSourceLines() { weird(eh()) }
> ok 6372 max-len valid // I like longer comments and shorter code
> function see() { odd(eh()) }
> ok 6373 max-len valid // Full line comment
> someCode(); // With a long trailing comment.
> ok 6374 max-len valid var foo = module.exports = {}; // really long trailing comment
> ok 6375 max-len valid var foo = module.exports = {}; // really long trailing comment
> ok 6376 max-len valid var foo = veryLongIdentifier;
> var bar = 'this is a very long string';
> ok 6377 max-len valid var foo = veryLongIdentifier;
> var bar = "this is a very long string";
> ok 6378 max-len valid var str = "this is a very long string\
> with continuation";
> ok 6379 max-len valid var str = "this is a very long string\
> with continuation\
> and with another very very long continuation\
> and ending";
> ok 6380 max-len valid var foo = <div className="this is a very long string"></div>;
> ok 6381 max-len valid var foo = veryLongIdentifier;
> var bar = `this is a very long string`;
> ok 6382 max-len valid var foo = veryLongIdentifier;
> var bar = `this is a very long string
> and this is another line that is very long`;
> ok 6383 max-len valid var foo = veryLongIdentifier;
> var bar = `this is a very long string
> and this is another line that is very long
> and here is another
>  and another!`;
> ok 6384 max-len valid var foo = /this is a very long pattern/;
> ok 6385 max-len valid function foo() {
> //this line has 29 characters
> }
> ok 6386 max-len valid function foo() {
>     //this line has 33 characters
> }
> ok 6387 max-len valid function foo() {
> /*this line has 29 characters
> and this one has 21*/
> }
> ok 6388 max-len valid function foo() {
>     /*this line has 33 characters
>     and this one has 25*/
> }
> ok 6389 max-len valid function foo() {
>     var a; /*this line has 40 characters
>     and this one has 36 characters*/
> }
> ok 6390 max-len valid function foo() {
>     /*this line has 33 characters
>     and this one has 43 characters*/ var a;
> }
> ok 6391 max-len valid 
> ok 6392 max-len valid '🙂😀😆😎😊😜😉👍'
> ok 6393 max-len invalid 																			var i = 1;
> ok 6394 max-len invalid var x = 5, y = 2, z = 5;
> ok 6395 max-len invalid 			var i = 1;
> ok 6396 max-len invalid 			var i = 1;
> 			var j = 1;
> ok 6397 max-len invalid var /*this is a long non-removed inline comment*/ i = 1;
> ok 6398 max-len invalid var foobar = 'this line isn\'t matched by the regexp';
> var fizzbuzz = 'but this one is matched by the regexp';
> 
> ok 6399 max-len invalid var longLine = 'will trigger'; // even with a comment
> ok 6400 max-len invalid var foo = module.exports = {}; // really long trailing comment
> ok 6401 max-len invalid foo('http://example.com/this/is/?a=longish&url=inhere');
> ok 6402 max-len invalid foo(bar(bazz('this is a long'), 'line of'), 'stuff');
> ok 6403 max-len invalid // A comment that exceeds the max comment length.
> ok 6404 max-len invalid // A comment that exceeds the max comment length and the max code length, but will fail for being too long of a comment
> ok 6405 max-len invalid // A comment that exceeds the max comment length.
> ok 6406 max-len invalid //This is very long comment with more than 40 characters which is invalid
> ok 6407 max-len invalid function foo() {
> //this line has 29 characters
> }
> ok 6408 max-len invalid function foo() {
>     //this line has 33 characters
> }
> ok 6409 max-len invalid function foo() {
> /*this line has 29 characters
> and this one has 32 characters*/
> }
> ok 6410 max-len invalid function foo() {
>     /*this line has 33 characters
>     and this one has 36 characters*/
> }
> ok 6411 max-len invalid function foo() {
>     var a; /*this line has 40 characters
>     and this one has 36 characters*/
> }
> ok 6412 max-len invalid function foo() {
>     /*this line has 33 characters
>     and this one has 43 characters*/ var a;
> }
> ok 6413 max-len invalid // This commented line has precisely 51 characters.
> var x = 'This line also has exactly 51 characters';
> ok 6414 max-len invalid var foo = veryLongIdentifier;
> var bar = 'this is a very long string';
> ok 6415 max-len invalid var foo = veryLongIdentifier;
> var bar = /this is a very very long pattern/;
> ok 6416 max-len invalid var foo = veryLongIdentifier;
> var bar = new RegExp('this is a very very long pattern');
> ok 6417 max-len invalid var foo = veryLongIdentifier;
> var bar = "this is a very long string";
> ok 6418 max-len invalid var foo = veryLongIdentifier;
> var bar = `this is a very long string`;
> ok 6419 max-len invalid var foo = veryLongIdentifier;
> var bar = `this is a very long string
> and this is another line that is very long`;
> ok 6420 max-len invalid var foo = <div>this is a very very very long string</div>;
> ok 6421 max-len invalid '🙁😁😟☹️😣😖😩😱👎'
> ok 6422 max-lines-per-function valid var x = 5;
> var x = 2;
> 
> ok 6423 max-lines-per-function valid function name() {}
> ok 6424 max-lines-per-function valid function name() {
> var x = 5;
> var x = 2;
> }
> ok 6425 max-lines-per-function valid const bar = () => 2
> ok 6426 max-lines-per-function valid const bar = () => {
> const x = 2 + 1;
> return x;
> }
> ok 6427 max-lines-per-function valid function name() {
> var x = 5;
> 	
>  
> 
> var x = 2;
> }
> ok 6428 max-lines-per-function valid function name() {
> var x = 5;
> 	
>  
> 
> var x = 2;
> }
> ok 6429 max-lines-per-function valid function name() {
> var x = 5;
> var x = 2; // end of line comment
> }
> ok 6430 max-lines-per-function valid function name() {
> var x = 5;
> // a comment on it's own line
> var x = 2; // end of line comment
> }
> ok 6431 max-lines-per-function valid function name() {
> var x = 5;
> // a comment on it's own line
> // and another line comment
> var x = 2; // end of line comment
> }
> ok 6432 max-lines-per-function valid function name() {
> var x = 5;
> /* a 
>  multi 
>  line 
>  comment 
> */
> 
> var x = 2; // end of line comment
> }
> ok 6433 max-lines-per-function valid function name() {
> var x = 5;
> 	/* a comment with leading whitespace */
> /* a comment with trailing whitespace */		
> 	/* a comment with trailing and leading whitespace */		
> /* a 
>  multi 
>  line 
>  comment 
> */		
> 
> var x = 2; // end of line comment
> }
> ok 6434 max-lines-per-function valid function foo(
>     aaa = 1,
>     bbb = 2,
>     ccc = 3
> ) {
>     return aaa + bbb + ccc
> }
> ok 6435 max-lines-per-function valid (
> function
> ()
> {
> }
> )
> ()
> ok 6436 max-lines-per-function valid function parent() {
> var x = 0;
> function nested() {
>     var y = 0;
>     x = 2;
> }
> if ( x === y ) {
>     x++;
> }
> }
> ok 6437 max-lines-per-function valid class foo {
>     method() {
>         let y = 10;
>         let x = 20;
>         return y + x;
>     }
> }
> ok 6438 max-lines-per-function valid (function(){
>     let x = 0;
>     let y = 0;
>     let z = x + y;
>     let foo = {};
>     return bar;
> }());
> ok 6439 max-lines-per-function valid (function(){
>     let x = 0;
>     let y = 0;
>     let z = x + y;
>     let foo = {};
>     return bar;
> }());
> ok 6440 max-lines-per-function invalid function name() {
> }
> ok 6441 max-lines-per-function invalid var func = function() {
> }
> ok 6442 max-lines-per-function invalid const bar = () => {
> const x = 2 + 1;
> return x;
> }
> ok 6443 max-lines-per-function invalid const bar = () =>
>  2
> ok 6444 max-lines-per-function invalid function name() {
> var x = 5;
> 	
>  
> 
> var x = 2;
> }
> ok 6445 max-lines-per-function invalid function name() {
> 
> var x = 5;
> 
> 	
> 
>  
> 
> 
> 
> var x = 2;
> 
> }
> ok 6446 max-lines-per-function invalid function name() {
> var x = 5;
> 	
>  
> 
> var x = 2;
> }
> ok 6447 max-lines-per-function invalid function name() {
> 
> var x = 5;
> 
> 	
> 
>  
> 
> 
> 
> var x = 2;
> 
> }
> ok 6448 max-lines-per-function invalid function name() { // end of line comment
> var x = 5; /* mid line comment */
> 	// single line comment taking up whole line
> 	
>  
> 
> var x = 2;
> }
> ok 6449 max-lines-per-function invalid function name() { // end of line comment
> var x = 5; /* mid line comment */
> 	// single line comment taking up whole line
> 	
>  
> 
> var x = 2;
> }
> ok 6450 max-lines-per-function invalid function name() { // end of line comment
> var x = 5; /* mid line comment */
> 	// single line comment taking up whole line
> 	
>  
> 
> var x = 2;
> }
> ok 6451 max-lines-per-function invalid function foo(
>     aaa = 1,
>     bbb = 2,
>     ccc = 3
> ) {
>     return aaa + bbb + ccc
> }
> ok 6452 max-lines-per-function invalid (
> function
> ()
> {
> }
> )
> ()
> ok 6453 max-lines-per-function invalid function parent() {
> var x = 0;
> function nested() {
>     var y = 0;
>     x = 2;
> }
> if ( x === y ) {
>     x++;
> }
> }
> ok 6454 max-lines-per-function invalid function parent() {
> var x = 0;
> function nested() {
>     var y = 0;
>     x = 2;
> }
> if ( x === y ) {
>     x++;
> }
> }
> ok 6455 max-lines-per-function invalid class foo {
>     method() {
>         let y = 10;
>         let x = 20;
>         return y + x;
>     }
> }
> ok 6456 max-lines-per-function invalid class A {
>     static
>     foo
>     (a) {
>         return a
>     }
> }
> ok 6457 max-lines-per-function invalid var obj = {
>     get
>     foo
>     () {
>         return 1
>     }
> }
> ok 6458 max-lines-per-function invalid var obj = {
>     set
>     foo
>     ( val ) {
>         this._foo = val;
>     }
> }
> ok 6459 max-lines-per-function invalid class A {
>     static
>     [
>         foo +
>             bar
>     ]
>     (a) {
>         return a
>     }
> }
> ok 6460 max-lines-per-function invalid (function(){
>     let x = 0;
>     let y = 0;
>     let z = x + y;
>     let foo = {};
>     return bar;
> }());
> ok 6461 max-lines valid var x;
> ok 6462 max-lines valid var xy;
> var xy;
> ok 6463 max-lines valid var xy;
> var xy;
> ok 6464 max-lines valid var xy;
> var xy;
> ok 6465 max-lines valid //a single line comment
> var xy;
> var xy;
>  /* a multiline
>  really really
>  long comment*/ 
> ok 6466 max-lines valid var x; /* inline comment
>  spanning multiple lines */ var z;
> ok 6467 max-lines valid var x; /* inline comment
>  spanning multiple lines */
> var z;
> ok 6468 max-lines valid var x;
> 
> 	
> 	  
> var y;
> ok 6469 max-lines valid //a single line comment
> var xy;
>  
> var xy;
>  
>  /* a multiline
>  really really
>  long comment*/
> ok 6470 max-lines invalid var xyz;
> var xyz;
> var xyz;
> ok 6471 max-lines invalid /* a multiline comment
>  that goes to many lines*/
> var xy;
> var xy;
> ok 6472 max-lines invalid //a single line comment
> var xy;
> var xy;
> ok 6473 max-lines invalid var x;
> 
> 
> 
> var y;
> ok 6474 max-lines invalid //a single line comment
> var xy;
>  
> var xy;
>  
>  /* a multiline
>  really really
>  long comment*/
> ok 6475 max-lines invalid var x; // inline comment
> var y;
> var z;
> ok 6476 max-lines invalid var x; /* inline comment
>  spanning multiple lines */
> var y;
> var z;
> ok 6477 max-lines invalid //a single line comment
> var xy;
>  
> var xy;
>  
>  /* a multiline
>  really really
>  long comment*/
> ok 6478 max-lines invalid AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> AAAAAAAA
> ok 6479 max-lines invalid A
> ok 6480 max-nested-callbacks valid foo(function() { bar(thing, function(data) {}); });
> ok 6481 max-nested-callbacks valid var foo = function() {}; bar(function(){ baz(function() { qux(foo); }) });
> ok 6482 max-nested-callbacks valid fn(function(){}, function(){}, function(){});
> ok 6483 max-nested-callbacks valid fn(() => {}, function(){}, function(){});
> ok 6484 max-nested-callbacks valid foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {});});});});});});});});});});
> ok 6485 max-nested-callbacks valid foo(function() { bar(thing, function(data) {}); });
> ok 6486 max-nested-callbacks invalid foo(function() { bar(thing, function(data) { baz(function() {}); }); });
> ok 6487 max-nested-callbacks invalid foo(function() { bar(thing, (data) => { baz(function() {}); }); });
> ok 6488 max-nested-callbacks invalid foo(() => { bar(thing, (data) => { baz( () => {}); }); });
> ok 6489 max-nested-callbacks invalid foo(function() { if (isTrue) { bar(function(data) { baz(function() {}); }); } });
> ok 6490 max-nested-callbacks invalid foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {});});});});});});});});});});});
> ok 6491 max-nested-callbacks invalid foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {foo(function() {});});});});});});});});});});});
> ok 6492 max-nested-callbacks invalid foo(function() {})
> ok 6493 max-nested-callbacks invalid foo(function() { bar(thing, function(data) { baz(function() {}); }); });
> ok 6494 max-params valid function test(d, e, f) {}
> ok 6495 max-params valid var test = function(a, b, c) {};
> ok 6496 max-params valid var test = (a, b, c) => {};
> ok 6497 max-params valid var test = function test(a, b, c) {};
> ok 6498 max-params valid var test = function(a, b, c) {};
> ok 6499 max-params invalid function test(a, b, c) {}
> ok 6500 max-params invalid function test(a, b, c, d) {}
> ok 6501 max-params invalid var test = function(a, b, c, d) {};
> ok 6502 max-params invalid var test = (a, b, c, d) => {};
> ok 6503 max-params invalid (function(a, b, c, d) {});
> ok 6504 max-params invalid var test = function test(a, b, c) {};
> ok 6505 max-params invalid function test(a, b, c) {}
> ok 6506 max-params invalid function test(a, b, c, d) {}
> ok 6507 max-params invalid function test(a) {}
> ok 6508 max-params invalid function test(a, b, c) {
>               // Just to make it longer
>             }
> ok 6509 max-statements-per-line valid { }
> ok 6510 max-statements-per-line valid var bar = 1;
> ok 6511 max-statements-per-line valid var bar = 1;
> ok 6512 max-statements-per-line valid var bar = 1;;
> ok 6513 max-statements-per-line valid ;(function foo() {
> })()
> ok 6514 max-statements-per-line valid if (condition) var bar = 1;
> ok 6515 max-statements-per-line valid if (condition) { }
> ok 6516 max-statements-per-line valid if (condition) { } else { }
> ok 6517 max-statements-per-line valid if (condition) {
> var bar = 1;
> } else {
> var bar = 1;
> }
> ok 6518 max-statements-per-line valid for (var i = 0; i < length; ++i) { }
> ok 6519 max-statements-per-line valid for (var i = 0; i < length; ++i) {
> var bar  = 1;
> }
> ok 6520 max-statements-per-line valid switch (discriminant) { default: }
> ok 6521 max-statements-per-line valid switch (discriminant) {
> default: break;
> }
> ok 6522 max-statements-per-line valid function foo() { }
> ok 6523 max-statements-per-line valid function foo() {
> if (condition) var bar = 1;
> }
> ok 6524 max-statements-per-line valid function foo() {
> if (condition) {
> var bar = 1;
> }
> }
> ok 6525 max-statements-per-line valid (function() { })();
> ok 6526 max-statements-per-line valid (function() {
> var bar = 1;
> })();
> ok 6527 max-statements-per-line valid var foo = function foo() { };
> ok 6528 max-statements-per-line valid var foo = function foo() {
> var bar = 1;
> };
> ok 6529 max-statements-per-line valid var foo = { prop: () => { } };
> ok 6530 max-statements-per-line valid var bar = 1; var baz = 2;
> ok 6531 max-statements-per-line valid if (condition) { var bar = 1; }
> ok 6532 max-statements-per-line valid if (condition) {
> var bar = 1; var baz = 2;
> } else {
> var bar = 1; var baz = 2;
> }
> ok 6533 max-statements-per-line valid for (var i = 0; i < length; ++i) { var bar = 1; }
> ok 6534 max-statements-per-line valid for (var i = 0; i < length; ++i) {
> var bar = 1; var baz = 2;
> }
> ok 6535 max-statements-per-line valid switch (discriminant) { default: break; }
> ok 6536 max-statements-per-line valid switch (discriminant) {
> case 'test': var bar = 1; break;
> default: var bar = 1; break;
> }
> ok 6537 max-statements-per-line valid function foo() { var bar = 1; }
> ok 6538 max-statements-per-line valid function foo() {
> var bar = 1; var baz = 2;
> }
> ok 6539 max-statements-per-line valid function foo() {
> if (condition) { var bar = 1; }
> }
> ok 6540 max-statements-per-line valid function foo() {
> if (condition) {
> var bar = 1; var baz = 2;
> }
> }
> ok 6541 max-statements-per-line valid (function() { var bar = 1; })();
> ok 6542 max-statements-per-line valid (function() {
> var bar = 1; var baz = 2;
> })();
> ok 6543 max-statements-per-line valid var foo = function foo() { var bar = 1; };
> ok 6544 max-statements-per-line valid var foo = function foo() {
> var bar = 1; var baz = 2;
> };
> ok 6545 max-statements-per-line valid var foo = { prop: () => { var bar = 1; } };
> ok 6546 max-statements-per-line valid var bar = 1; var baz = 2; var qux = 3;
> ok 6547 max-statements-per-line valid if (condition) { var bar = 1; var baz = 2; }
> ok 6548 max-statements-per-line valid if (condition) { var bar = 1; } else { var bar = 1; }
> ok 6549 max-statements-per-line valid switch (discriminant) { case 'test1': ; case 'test2': ; }
> ok 6550 max-statements-per-line valid let bar = bar => { a; }, baz = baz => { b; };
> ok 6551 max-statements-per-line valid function foo({[bar => { a; }]: baz = qux => { b; }}) { }
> ok 6552 max-statements-per-line valid bar => { a; }, baz => { b; }, qux => { c; };
> ok 6553 max-statements-per-line valid [bar => { a; }, baz => { b; }, qux => { c; }];
> ok 6554 max-statements-per-line valid foo(bar => { a; }, baz => { c; }, qux => { c; });
> ok 6555 max-statements-per-line valid ({ bar: bar => { a; }, baz: baz => { c; }, qux: qux => { ; }});
> ok 6556 max-statements-per-line valid (bar => { a; }) ? (baz => { b; }) : (qux => { c; });
> ok 6557 max-statements-per-line valid const name = 'ESLint'
> 
> ;(function foo() {
> })()
> ok 6558 max-statements-per-line valid if (foo > 1)
>     foo--;
> else
>     foo++;
> ok 6559 max-statements-per-line valid export default foo = 0;
> ok 6560 max-statements-per-line valid export default function foo() {
>    console.log('test');
> }
> ok 6561 max-statements-per-line valid export let foo = 0;
> ok 6562 max-statements-per-line valid export function foo() {
>    console.log('test');
> }
> ok 6563 max-statements-per-line invalid var foo; var bar;
> ok 6564 max-statements-per-line invalid var bar = 1; var foo = 3;
> ok 6565 max-statements-per-line invalid var bar = 1; var baz = 2;
> ok 6566 max-statements-per-line invalid var bar = 1; var baz = 2;
> ok 6567 max-statements-per-line invalid if (condition) var bar = 1; if (condition) var baz = 2;
> ok 6568 max-statements-per-line invalid if (condition) var bar = 1; else var baz = 1;
> ok 6569 max-statements-per-line invalid if (condition) { } if (condition) { }
> ok 6570 max-statements-per-line invalid if (condition) { var bar = 1; } else { }
> ok 6571 max-statements-per-line invalid if (condition) { } else { var bar = 1; }
> ok 6572 max-statements-per-line invalid if (condition) { var bar = 1; } else { var bar = 1; }
> ok 6573 max-statements-per-line invalid for (var i = 0; i < length; ++i) { var bar = 1; }
> ok 6574 max-statements-per-line invalid switch (discriminant) { default: break; }
> ok 6575 max-statements-per-line invalid function foo() { var bar = 1; }
> ok 6576 max-statements-per-line invalid function foo() { if (condition) var bar = 1; }
> ok 6577 max-statements-per-line invalid function foo() { if (condition) { var bar = 1; } }
> ok 6578 max-statements-per-line invalid (function() { var bar = 1; })();
> ok 6579 max-statements-per-line invalid var foo = function foo() { var bar = 1; };
> ok 6580 max-statements-per-line invalid var foo = { prop: () => { var bar = 1; } };
> ok 6581 max-statements-per-line invalid var bar = 1; var baz = 2; var qux = 3;
> ok 6582 max-statements-per-line invalid if (condition) { var bar = 1; var baz = 2; }
> ok 6583 max-statements-per-line invalid if (condition) { var bar = 1; } else { var bar = 1; }
> ok 6584 max-statements-per-line invalid if (condition) { var bar = 1; var baz = 2; } else { var bar = 1; var baz = 2; }
> ok 6585 max-statements-per-line invalid for (var i = 0; i < length; ++i) { var bar = 1; var baz = 2; }
> ok 6586 max-statements-per-line invalid switch (discriminant) { case 'test': break; default: break; }
> ok 6587 max-statements-per-line invalid function foo() { var bar = 1; var baz = 2; }
> ok 6588 max-statements-per-line invalid function foo() { if (condition) { var bar = 1; } }
> ok 6589 max-statements-per-line invalid (function() { var bar = 1; var baz = 2; })();
> ok 6590 max-statements-per-line invalid var foo = function foo() { var bar = 1; var baz = 2; };
> ok 6591 max-statements-per-line invalid var foo = { prop: () => { var bar = 1; var baz = 2; } };
> ok 6592 max-statements-per-line invalid var bar = 1; var baz = 2; var qux = 3; var waldo = 4;
> ok 6593 max-statements-per-line invalid if (condition) { var bar = 1; var baz = 2; var qux = 3; }
> ok 6594 max-statements-per-line invalid if (condition) { var bar = 1; var baz = 2; } else { var bar = 1; var baz = 2; }
> ok 6595 max-statements-per-line invalid switch (discriminant) { case 'test': var bar = 1; break; default: var bar = 1; break; }
> ok 6596 max-statements-per-line invalid let bar = bar => { a; }, baz = baz => { b; }, qux = qux => { c; };
> ok 6597 max-statements-per-line invalid (bar => { a; }) ? (baz => { b; }) : (qux => { c; });
> ok 6598 max-statements-per-line invalid bar => { a; }, baz => { b; }, qux => { c; }, quux => { d; };
> ok 6599 max-statements-per-line invalid [bar => { a; }, baz => { b; }, qux => { c; }, quux => { d; }];
> ok 6600 max-statements-per-line invalid foo(bar => { a; }, baz => { b; }, qux => { c; }, quux => { d; });
> ok 6601 max-statements-per-line invalid ({ bar: bar => { a; }, baz: baz => { b; }, qux: qux => { c; }, quux: quux => { d; }});
> ok 6602 max-statements-per-line invalid a; if (b) { c; d; }
> z;
> ok 6603 max-statements-per-line invalid export default function foo() { console.log('test') }
> ok 6604 max-statements-per-line invalid export function foo() { console.log('test') }
> ok 6605 max-statements valid function foo() { var bar = 1; function qux () { var noCount = 2; } return 3; }
> ok 6606 max-statements valid function foo() { var bar = 1; if (true) { for (;;) { var qux = null; } } else { quxx(); } return 3; }
> ok 6607 max-statements valid function foo() { var x = 5; function bar() { var y = 6; } bar(); z = 10; baz(); }
> ok 6608 max-statements valid function foo() { var a; var b; var c; var x; var y; var z; bar(); baz(); qux(); quxx(); }
> ok 6609 max-statements valid (function() { var bar = 1; return function () { return 42; }; })()
> ok 6610 max-statements valid function foo() { var bar = 1; var baz = 2; }
> ok 6611 max-statements valid define(['foo', 'qux'], function(foo, qux) { var bar = 1; var baz = 2; })
> ok 6612 max-statements valid var foo = { thing: function() { var bar = 1; var baz = 2; } }
> ok 6613 max-statements valid var foo = { thing() { var bar = 1; var baz = 2; } }
> ok 6614 max-statements valid var foo = { ['thing']() { var bar = 1; var baz = 2; } }
> ok 6615 max-statements valid var foo = { thing: () => { var bar = 1; var baz = 2; } }
> ok 6616 max-statements valid var foo = { thing: function() { var bar = 1; var baz = 2; } }
> ok 6617 max-statements invalid function foo() { var bar = 1; var baz = 2; var qux = 3; }
> ok 6618 max-statements invalid var foo = () => { var bar = 1; var baz = 2; var qux = 3; };
> ok 6619 max-statements invalid var foo = function() { var bar = 1; var baz = 2; var qux = 3; };
> ok 6620 max-statements invalid function foo() { var bar = 1; if (true) { while (false) { var qux = null; } } return 3; }
> ok 6621 max-statements invalid function foo() { var bar = 1; if (true) { for (;;) { var qux = null; } } return 3; }
> ok 6622 max-statements invalid function foo() { var bar = 1; if (true) { for (;;) { var qux = null; } } else { quxx(); } return 3; }
> ok 6623 max-statements invalid function foo() { var x = 5; function bar() { var y = 6; } bar(); z = 10; baz(); }
> ok 6624 max-statements invalid function foo() { var x = 5; function bar() { var y = 6; } bar(); z = 10; baz(); }
> ok 6625 max-statements invalid ;(function() { var bar = 1; return function () { var z; return 42; }; })()
> ok 6626 max-statements invalid ;(function() { var bar = 1; var baz = 2; })(); (function() { var bar = 1; var baz = 2; })()
> ok 6627 max-statements invalid define(['foo', 'qux'], function(foo, qux) { var bar = 1; var baz = 2; return function () { var z; return 42; }; })
> ok 6628 max-statements invalid function foo() { var a; var b; var c; var x; var y; var z; bar(); baz(); qux(); quxx(); foo(); }
> ok 6629 max-statements invalid var foo = { thing: function() { var bar = 1; var baz = 2; var baz2; } }
> ok 6630 max-statements invalid var foo = { thing() { var bar = 1; var baz = 2; var baz2; } }
> ok 6631 max-statements invalid var foo = { thing: () => { var bar = 1; var baz = 2; var baz2; } }
> ok 6632 max-statements invalid var foo = { thing: function() { var bar = 1; var baz = 2; var baz2; } }
> ok 6633 max-statements invalid function foo() { 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; }
> ok 6634 max-statements invalid function foo() { 1; }
> ok 6635 multiline-comment-style valid 
>             /*
>              * this is
>              * a comment
>              */
>         
> ok 6636 multiline-comment-style valid 
>             /**
>              * this is
>              * a JSDoc comment
>              */
>         
> ok 6637 multiline-comment-style valid 
>             /* eslint semi: [
>               "error"
>             ] */
>         
> ok 6638 multiline-comment-style valid 
>             // this is a single-line comment
>         
> ok 6639 multiline-comment-style valid 
>             /* foo */
>         
> ok 6640 multiline-comment-style valid 
>             // this is a comment
>             foo();
>             // this is another comment
>         
> ok 6641 multiline-comment-style valid 
>             /*
>              * Function overview
>              * ...
>              */
> 
>             // Step 1: Do the first thing
>             foo();
>         
> ok 6642 multiline-comment-style valid 
>             /*
>              * Function overview
>              * ...
>              */
> 
>             /*
>              * Step 1: Do the first thing.
>              * The first thing is foo().
>              */
>             foo();
>         
> ok 6643 multiline-comment-style valid 		/**
> 		 * this comment
> 		 * is tab-aligned
> 		 */
> ok 6644 multiline-comment-style valid /**
> 
>  * this comment
> 
>  * uses windows linebreaks
> 
>  */
> ok 6645 multiline-comment-style valid /**
 * this comment
 * uses paragraph separators
 */
> ok 6646 multiline-comment-style valid 
>             foo(/* this is an
>                 inline comment */);
>         
> ok 6647 multiline-comment-style valid 
>             // The following line comment
>             // contains '*/'.
>         
> ok 6648 multiline-comment-style valid 
>                 // The following line comment
>                 // contains '*/'.
>             
> ok 6649 multiline-comment-style valid 
>                 /*
>                  * this is
>                  * a comment
>                  */
>             
> ok 6650 multiline-comment-style valid 
>                 /**
>                  * this is
>                  * a JSDoc comment
>                  */
>             
> ok 6651 multiline-comment-style valid 
>                 /* eslint semi: [
>                   "error"
>                 ] */
>             
> ok 6652 multiline-comment-style valid 
>                 // this is a single-line comment
>             
> ok 6653 multiline-comment-style valid 
>                 /* foo */
>             
> ok 6654 multiline-comment-style valid 
>                 // this is
>                 // a comment
>             
> ok 6655 multiline-comment-style valid 
>                 /* this is
>                    a comment */ foo;
>             
> ok 6656 multiline-comment-style valid 
>                 // a comment
> 
>                 // another comment
>             
> ok 6657 multiline-comment-style valid 
>                 // a comment
> 
>                 // another comment
>             
> ok 6658 multiline-comment-style valid 
>                 // a comment
> 
>                 // another comment
>             
> ok 6659 multiline-comment-style valid 
>                 /* eslint semi: "error" */
>             
> ok 6660 multiline-comment-style valid 
>                 /**
>                  * This is
>                  * a JSDoc comment
>                  */
>             
> ok 6661 multiline-comment-style valid 
>                 /**
>                  * This is
>                  * a JSDoc comment
>                  */
>             
> ok 6662 multiline-comment-style valid 
>                 /**
>                  * This is
>                  * a JSDoc comment
>                  */
>             
> ok 6663 multiline-comment-style valid 
>                 /* This is
>                    a comment */
>             
> ok 6664 multiline-comment-style valid 
>                 /* This is
>                          a comment */
>             
> ok 6665 multiline-comment-style valid 
>                 /* eslint semi: [
>                     "error"
>                 ] */
>             
> ok 6666 multiline-comment-style valid 
>                 /* The value of 5
>                  + 4 is 9, and the value of 5
>                  * 4 is 20. */
>             
> ok 6667 multiline-comment-style invalid 
>                 // these are
>                 // line comments
>             
> ok 6668 multiline-comment-style invalid 
>                 //foo
>                 ///bar
>             
> ok 6669 multiline-comment-style invalid 
>                 // foo
>                 // bar
> 
>                 // baz
>                 // qux
>             
> ok 6670 multiline-comment-style invalid 
>                 /* this block
>                  * is missing a newline at the start
>                  */
>             
> ok 6671 multiline-comment-style invalid 
>                 /** this JSDoc comment
>                  * is missing a newline at the start
>                  */
>             
> ok 6672 multiline-comment-style invalid 
>                 /*
>                  * this block
>                  * is missing a newline at the end*/
>             
> ok 6673 multiline-comment-style invalid 
>                 /*
>                  * the following line
>                  is missing a '*' at the start
>                  */
>             
> ok 6674 multiline-comment-style invalid 
>                 /*
>                  * the following line
>                       * has a '*' with the wrong offset at the start
>                  */
>             
> ok 6675 multiline-comment-style invalid 
>                   /*
>                    * the following line
>                  * has a '*' with the wrong offset at the start
>                    */
>             
> ok 6676 multiline-comment-style invalid 
>                 /*
>                  * the last line of this comment
>                  * is misaligned
>                    */
>             
> ok 6677 multiline-comment-style invalid 
>                 /*
>                  * the following line
>                 *
>                  * is blank
>                  */
>             
> ok 6678 multiline-comment-style invalid 
>                 /*
>                  * the following line
>                   *
>                  * is blank
>                  */
>             
> ok 6679 multiline-comment-style invalid 
>                 /*
>                  * the last line of this comment
>                  * is misaligned
>                    */ foo
>             
> ok 6680 multiline-comment-style invalid 
>                 /*
>                  * foo
>                  * bar
>                  */
>             
> ok 6681 multiline-comment-style invalid 
>                 /* foo
>                  *bar
>                  baz
>                  qux*/
>             
> ok 6682 multiline-comment-style invalid 
>                 // foo
>                 // bar
>             
> ok 6683 multiline-comment-style invalid 
>                 /*
>                 * foo
>                 * bar
>                 */
>             
> ok 6684 multiline-ternary valid a
> ? b
> : c
> ok 6685 multiline-ternary valid a ?
> b :
> c
> ok 6686 multiline-ternary valid a
> ? b
> ? c
> : d
> : e
> ok 6687 multiline-ternary valid a
> ? (b
> ? c
> : d)
> : e
> ok 6688 multiline-ternary valid a
> ? b
> : c
> ok 6689 multiline-ternary valid a ?
> b :
> c
> ok 6690 multiline-ternary valid a
> ? b
> ? c
> : d
> : e
> ok 6691 multiline-ternary valid a
> ? (b
> ? c
> : d)
> : e
> ok 6692 multiline-ternary valid a
> ? b
> : c
> ok 6693 multiline-ternary valid a ?
> b :
> c
> ok 6694 multiline-ternary valid a
> ? b
> ? c
> : d
> : e
> ok 6695 multiline-ternary valid a
> ? (b
> ? c
> : d)
> : e
> ok 6696 multiline-ternary valid a ? b : c
> ok 6697 multiline-ternary valid a ? b ? c : d : e
> ok 6698 multiline-ternary valid a ? (b ? c : d) : e
> ok 6699 multiline-ternary valid a
> ? (b ? c : d)
> : e
> ok 6700 multiline-ternary valid a ?
> (b ? c : d) :
> e
> ok 6701 multiline-ternary valid a ? b : c
> ok 6702 multiline-ternary valid a ? b ? c : d : e
> ok 6703 multiline-ternary valid a ? (b ? c : d) : e
> ok 6704 multiline-ternary invalid a ? b : c
> ok 6705 multiline-ternary invalid a
> ? b : c
> ok 6706 multiline-ternary invalid a ? b
> : c
> ok 6707 multiline-ternary invalid a ? (b ? c : d) : e
> ok 6708 multiline-ternary invalid a ?
> (b ? c : d) :
> e
> ok 6709 multiline-ternary invalid a ? (b
> ? c
> : d) : e
> ok 6710 multiline-ternary invalid a ?
> (b? c
> : d) : e
> ok 6711 multiline-ternary invalid a ?
> (b
> ? c : d) : e
> ok 6712 multiline-ternary invalid a ?
> (b
> ? c
>  : d) : e
> ok 6713 multiline-ternary invalid a ? b : c
> ok 6714 multiline-ternary invalid a
> ? b : c
> ok 6715 multiline-ternary invalid a ? b
> : c
> ok 6716 multiline-ternary invalid a ? (b ? c : d) : e
> ok 6717 multiline-ternary invalid a ?
> (b ? c : d) :
> e
> ok 6718 multiline-ternary invalid a ? (b
> ? c
> : d) : e
> ok 6719 multiline-ternary invalid a ?
> (b? c
> : d) : e
> ok 6720 multiline-ternary invalid a ?
> (b
> ? c : d) : e
> ok 6721 multiline-ternary invalid a ?
> (b
> ? c
>  : d) : e
> ok 6722 multiline-ternary invalid a
> ? b : c
> ok 6723 multiline-ternary invalid a ? b
> : c
> ok 6724 multiline-ternary invalid a &&
> b ? c : d
> ok 6725 multiline-ternary invalid a ? b +
> c : d
> ok 6726 multiline-ternary invalid a ? b : c +
> d
> ok 6727 multiline-ternary invalid a ?
> (b ? c : d) : e
> ok 6728 multiline-ternary invalid a ? (b ? c : d) :
> e
> ok 6729 multiline-ternary invalid a ? (b
> ? c
> : d) : e
> ok 6730 multiline-ternary invalid a ?
> (b ? c
> : d) : e
> ok 6731 multiline-ternary invalid a ?
> (b
> ? c : d) : e
> ok 6732 multiline-ternary invalid a ?
> (b
> ? c
>  : d) : e
> ok 6733 multiline-ternary invalid a
> ? b : c
> ok 6734 multiline-ternary invalid a ? b
> : c
> ok 6735 multiline-ternary invalid a ?
> (b ? c : d) :
> e
> ok 6736 multiline-ternary invalid a ? (b
> ? c
> : d) : e
> ok 6737 multiline-ternary invalid a ?
> (b? c
> : d) : e
> ok 6738 multiline-ternary invalid a ?
> (b
> ? c : d) : e
> ok 6739 multiline-ternary invalid a ?
> (b
> ? c
>  : d) : e
> ok 6740 multiline-ternary invalid a ? (b
> ? c
> : d)
> : e
> ok 6741 multiline-ternary invalid a
> ?
> (b
> ?
> c
> :
> d)
> :
> e
> ok 6742 new-cap valid var x = new Constructor();
> ok 6743 new-cap valid var x = new a.b.Constructor();
> ok 6744 new-cap valid var x = new a.b['Constructor']();
> ok 6745 new-cap valid var x = new a.b[Constructor]();
> ok 6746 new-cap valid var x = new a.b[constructor]();
> ok 6747 new-cap valid var x = new function(){};
> ok 6748 new-cap valid var x = new _;
> ok 6749 new-cap valid var x = new $;
> ok 6750 new-cap valid var x = new Σ;
> ok 6751 new-cap valid var x = new _x;
> ok 6752 new-cap valid var x = new $x;
> ok 6753 new-cap valid var x = new this;
> ok 6754 new-cap valid var x = Array(42)
> ok 6755 new-cap valid var x = Boolean(42)
> ok 6756 new-cap valid var x = Date(42)
> ok 6757 new-cap valid var x = Date.UTC(2000, 0)
> ok 6758 new-cap valid var x = Error('error')
> ok 6759 new-cap valid var x = Function('return 0')
> ok 6760 new-cap valid var x = Number(42)
> ok 6761 new-cap valid var x = Object(null)
> ok 6762 new-cap valid var x = RegExp(42)
> ok 6763 new-cap valid var x = String(42)
> ok 6764 new-cap valid var x = Symbol('symbol')
> ok 6765 new-cap valid var x = _();
> ok 6766 new-cap valid var x = $();
> ok 6767 new-cap valid var x = Foo(42)
> ok 6768 new-cap valid var x = bar.Foo(42)
> ok 6769 new-cap valid var x = Foo.bar(42)
> ok 6770 new-cap valid var x = bar[Foo](42)
> ok 6771 new-cap valid var x = bar['Foo'](42)
> ok 6772 new-cap valid var x = Foo.bar(42)
> ok 6773 new-cap valid var x = new foo(42)
> ok 6774 new-cap valid var o = { 1: function() {} }; o[1]();
> ok 6775 new-cap valid var o = { 1: function() {} }; new o[1]();
> ok 6776 new-cap valid var x = Foo(42);
> ok 6777 new-cap valid var x = Foo(42);
> ok 6778 new-cap valid var x = new foo(42);
> ok 6779 new-cap valid var x = new foo(42);
> ok 6780 new-cap valid var x = Object(42);
> ok 6781 new-cap valid var x = Foo.Bar(42);
> ok 6782 new-cap valid var x = Foo.Bar(42);
> ok 6783 new-cap valid var x = Foo.Bar(42);
> ok 6784 new-cap valid var x = new foo.bar(42);
> ok 6785 new-cap valid var x = new foo.bar(42);
> ok 6786 new-cap valid var x = new foo.bar(42);
> ok 6787 new-cap valid var x = new foo.bar(42);
> ok 6788 new-cap valid var x = Foo.bar(42);
> ok 6789 new-cap valid var x = foo.Bar(42);
> ok 6790 new-cap invalid var x = new c();
> ok 6791 new-cap invalid var x = new φ;
> ok 6792 new-cap invalid var x = new a.b.c;
> ok 6793 new-cap invalid var x = new a.b['c'];
> ok 6794 new-cap invalid var b = Foo();
> ok 6795 new-cap invalid var b = a.Foo();
> ok 6796 new-cap invalid var b = a['Foo']();
> ok 6797 new-cap invalid var b = a.Date.UTC();
> ok 6798 new-cap invalid var b = UTC();
> ok 6799 new-cap invalid var a = B.C();
> ok 6800 new-cap invalid var a = B
> .C();
> ok 6801 new-cap invalid var a = new B.c();
> ok 6802 new-cap invalid var a = new B.
> c();
> ok 6803 new-cap invalid var a = new c();
> ok 6804 new-cap invalid var x = Foo.Bar(42);
> ok 6805 new-cap invalid var x = Bar.Foo(42);
> ok 6806 new-cap invalid var x = new foo.bar(42);
> ok 6807 new-cap invalid var x = new bar.foo(42);
> ok 6808 new-parens valid var a = new Date();
> ok 6809 new-parens valid var a = new Date(function() {});
> ok 6810 new-parens valid var a = new (Date)();
> ok 6811 new-parens valid var a = new ((Date))();
> ok 6812 new-parens valid var a = (new Date());
> ok 6813 new-parens valid var a = new foo.Bar();
> ok 6814 new-parens valid var a = (new Foo()).bar;
> ok 6815 new-parens valid new Storage<RootState>('state');
> ok 6816 new-parens invalid var a = new Date;
> ok 6817 new-parens invalid var a = new Date
> ok 6818 new-parens invalid var a = new (Date);
> ok 6819 new-parens invalid var a = new (Date)
> ok 6820 new-parens invalid var a = (new Date)
> ok 6821 new-parens invalid var a = (new Date)()
> ok 6822 new-parens invalid var a = new foo.Bar;
> ok 6823 new-parens invalid var a = (new Foo).bar;
> ok 6824 newline-after-var valid console.log(greet);
> ok 6825 newline-after-var valid console.log(greet);
> ok 6826 newline-after-var valid var greet = 'hello';
> ok 6827 newline-after-var valid var greet = 'hello';
> ok 6828 newline-after-var valid var greet = 'hello';console.log(greet);
> ok 6829 newline-after-var valid var greet = 'hello';
> console.log(greet);
> ok 6830 newline-after-var valid var greet = 'hello';
> 
> console.log(greet);
> ok 6831 newline-after-var valid var greet = 'hello';
> 
> 
> console.log(greet);
> ok 6832 newline-after-var valid var greet = 'hello';
> 
> 
> 
> console.log(greet);
> ok 6833 newline-after-var valid var greet = 'hello';    
> 
> console.log(greet);
> ok 6834 newline-after-var valid var greet = 'hello';    
> console.log(greet);
> ok 6835 newline-after-var valid var greet = 'hello'; // inline comment
> 
> console.log(greet);
> ok 6836 newline-after-var valid var greet = 'hello'; // inline comment
> console.log(greet);
> ok 6837 newline-after-var valid var greet = 'hello';
> // next-line comment
> console.log(greet);
> ok 6838 newline-after-var valid var greet = 'hello';
> /* block comment
> block comment */
> console.log(greet);
> ok 6839 newline-after-var valid var greet = 'hello';
> // next-line comment
> 
> console.log(greet);
> ok 6840 newline-after-var valid var greet = 'hello';
> /* block comment
> block comment */
> 
> console.log(greet);
> ok 6841 newline-after-var valid var greet = 'hello';
> // next-line comment
> // second-line comment
> 
> console.log(greet);
> ok 6842 newline-after-var valid var greet = 'hello';
> // next-line comment
> // second-line comment
> console.log(greet);
> ok 6843 newline-after-var valid var greet = 'hello';
> // next-line comment
> /* block comment
> block comment */
> console.log(greet);
> ok 6844 newline-after-var valid var greet = 'hello';var name = 'world';console.log(greet, name);
> ok 6845 newline-after-var valid var greet = 'hello';
> var name = 'world';
> console.log(greet, name);
> ok 6846 newline-after-var valid var greet = 'hello';
> var name = 'world';
> 
> console.log(greet, name);
> ok 6847 newline-after-var valid var greet = 'hello';
> // inline comment
> var name = 'world';
> 
> console.log(greet, name);
> ok 6848 newline-after-var valid var greet = 'hello';
> /* block comment
> block comment */
> var name = 'world';
> 
> console.log(greet, name);
> ok 6849 newline-after-var valid var greet = 'hello';
> // inline comment
> var name = 'world';
> console.log(greet, name);
> ok 6850 newline-after-var valid var greet = 'hello';
> /* block comment
> block comment */
> var name = 'world';
> console.log(greet, name);
> ok 6851 newline-after-var valid var greet = 'hello', name = 'world';console.log(greet, name);
> ok 6852 newline-after-var valid var greet = 'hello', name = 'world';
> console.log(greet, name);
> ok 6853 newline-after-var valid var greet = 'hello', name = 'world';
> 
> console.log(greet, name);
> ok 6854 newline-after-var valid var greet = 'hello',
> name = 'world';
> 
> console.log(greet, name);
> ok 6855 newline-after-var valid var greet = 'hello',
> name = 'world';
> console.log(greet, name);
> ok 6856 newline-after-var valid var greet = 'hello', // inline comment
> name = 'world'; // inline comment
> 
> console.log(greet, name);
> ok 6857 newline-after-var valid var greet = 'hello', // inline comment
> name = 'world'; // inline comment
> console.log(greet, name);
> ok 6858 newline-after-var valid var greet = 'hello',
> name = 'world';
> // next-line comment
> console.log(greet);
> ok 6859 newline-after-var valid var greet = 'hello',
> name = 'world';
> /* block comment
> block comment */
> console.log(greet);
> ok 6860 newline-after-var valid let greet = 'hello';
> 
> console.log(greet);
> ok 6861 newline-after-var valid let greet = 'hello';
> console.log(greet);
> ok 6862 newline-after-var valid const greet = 'hello';
> 
> console.log(greet);
> ok 6863 newline-after-var valid const greet = 'hello';
> console.log(greet);
> ok 6864 newline-after-var valid let greet = 'hello';
> var name = 'world';
> 
> console.log(greet, name);
> ok 6865 newline-after-var valid const greet = 'hello';
> var name = 'world';
> 
> console.log(greet, name);
> ok 6866 newline-after-var valid let greet = 'hello';
> const name = 'world';
> 
> console.log(greet, name);
> ok 6867 newline-after-var valid for(let a = 1; a < 1; a++){
>  break;
> }
> ok 6868 newline-after-var valid for(var a = 1; a < 1; a++){
>  break;
> }
> ok 6869 newline-after-var valid for(let a = 1; a < 1; a++){
>  break;
> }
> ok 6870 newline-after-var valid for(var a = 1; a < 1; a++){
>  break;
> }
> ok 6871 newline-after-var valid for(let a in obj){
>  break;
> }
> ok 6872 newline-after-var valid for(var a in obj){
>  break;
> }
> ok 6873 newline-after-var valid for(let a in obj){
>  break;
> }
> ok 6874 newline-after-var valid for(var a in obj){
>  break;
> }
> ok 6875 newline-after-var valid for(let a in obj){
>  break;
> }
> ok 6876 newline-after-var valid for(var a in obj){
>  break;
> }
> ok 6877 newline-after-var valid for(let a in obj){
>  break;
> }
> ok 6878 newline-after-var valid for(var a in obj){
>  break;
> }
> ok 6879 newline-after-var valid export let a = 1;
> export let b = 2;
> ok 6880 newline-after-var valid export let a = 1;
> export let b = 2;
> ok 6881 newline-after-var valid export var a = 1;
> export var b = 2;
> ok 6882 newline-after-var valid export var a = 1;
> export var b = 2;
> ok 6883 newline-after-var valid export const a = 1;
> export const b = 2;
> ok 6884 newline-after-var valid export const a = 1;
> export const b = 2;
> ok 6885 newline-after-var valid function example() {
> var greet = 'hello'
> }
> ok 6886 newline-after-var valid function example() {
> var greet = 'hello'
> }
> ok 6887 newline-after-var valid function example() {
> var greet = 'hello';
> console.log(greet);
> }
> ok 6888 newline-after-var valid var f = function() {
> var greet = 'hello'
> };
> ok 6889 newline-after-var valid var f = function() {
> var greet = 'hello'
> };
> ok 6890 newline-after-var valid var f = function() {
> var greet = 'hello';
> console.log(greet);
> };
> ok 6891 newline-after-var valid () => {
> var greet = 'hello';
> }
> ok 6892 newline-after-var valid () => {
> var greet = 'hello';
> }
> ok 6893 newline-after-var valid () => {
> var greet = 'hello';
> console.log(greet);
> }
> ok 6894 newline-after-var valid {
> var foo;
> }
> ok 6895 newline-after-var valid {
> var foo;
> }
> ok 6896 newline-after-var valid if(true) {
> var foo;
> }
> ok 6897 newline-after-var valid if(true) {
> var foo;
> }
> ok 6898 newline-after-var valid switch(a) {
> case 0:
> var foo;
> }
> ok 6899 newline-after-var valid switch(a) {
> case 0:
> var foo;
> }
> ok 6900 newline-after-var valid switch(a) {
> case 0:
> var foo;
> 
> case 1:}
> ok 6901 newline-after-var valid switch(a) {
> case 0:
> var foo;
> case 1:}
> ok 6902 newline-after-var valid 
>                 var a = 1
> 
>                 ;(b || c).doSomething()
>             
> ok 6903 newline-after-var valid 
>                 var a = 1
>                 ;(b || c).doSomething()
>             
> ok 6904 newline-after-var valid 
>                 var a = 1
>                 ;
>                 (b || c).doSomething();
>             
> ok 6905 newline-after-var invalid var greet = 'hello';console.log(greet);
> ok 6906 newline-after-var invalid var greet = 'hello';var name = 'world';console.log(greet, name);
> ok 6907 newline-after-var invalid var greet = 'hello', name = 'world';console.log(greet, name);
> ok 6908 newline-after-var invalid var greet = 'hello';
> console.log(greet);
> ok 6909 newline-after-var invalid var greet = 'hello';    
> console.log(greet);
> ok 6910 newline-after-var invalid var greet = 'hello'; // inline comment
> console.log(greet);
> ok 6911 newline-after-var invalid var greet = 'hello';
> var name = 'world';
> console.log(greet, name);
> ok 6912 newline-after-var invalid var greet = 'hello', name = 'world';
> console.log(greet, name);
> ok 6913 newline-after-var invalid var greet = 'hello',
> name = 'world';
> console.log(greet, name);
> ok 6914 newline-after-var invalid let greet = 'hello';
> console.log(greet);
> ok 6915 newline-after-var invalid const greet = 'hello';
> console.log(greet);
> ok 6916 newline-after-var invalid function example() {
> var greet = 'hello';
> console.log(greet);
> }
> ok 6917 newline-after-var invalid var f = function() {
> var greet = 'hello';
> console.log(greet);
> };
> ok 6918 newline-after-var invalid () => {
> var greet = 'hello';
> console.log(greet);
> }
> ok 6919 newline-after-var invalid switch(a) {
> case 0:
> var foo;
> case 1:}
> ok 6920 newline-after-var invalid var greet = 'hello';
> 
> console.log(greet);
> ok 6921 newline-after-var invalid var greet = 'hello';
> 
> 
> console.log(greet);
> ok 6922 newline-after-var invalid var greet = 'hello';
> 
> 
> 
> console.log(greet);
> ok 6923 newline-after-var invalid var greet = 'hello';    
> 
> console.log(greet);
> ok 6924 newline-after-var invalid var greet = 'hello'; // inline comment
> 
> console.log(greet);
> ok 6925 newline-after-var invalid var greet = 'hello';
> var name = 'world';
> 
> console.log(greet, name);
> ok 6926 newline-after-var invalid var greet = 'hello', name = 'world';
> 
> console.log(greet, name);
> ok 6927 newline-after-var invalid var greet = 'hello',
> name = 'world';
> 
> console.log(greet, name);
> ok 6928 newline-after-var invalid var greet = 'hello', // inline comment
> name = 'world'; // inline comment
> 
> console.log(greet, name);
> ok 6929 newline-after-var invalid let greet = 'hello';
> 
> console.log(greet);
> ok 6930 newline-after-var invalid const greet = 'hello';
> 
> console.log(greet);
> ok 6931 newline-after-var invalid switch(a) {
> case 0:
> var foo;
> 
> case 1:}
> ok 6932 newline-after-var invalid var greet = 'hello';
> // next-line comment
> console.log(greet);
> ok 6933 newline-after-var invalid var greet = 'hello';
> /* block comment
> block comment */
> console.log(greet);
> ok 6934 newline-after-var invalid var greet = 'hello',
> name = 'world';
> // next-line comment
> console.log(greet);
> ok 6935 newline-after-var invalid var greet = 'hello',
> name = 'world';
> /* block comment
> block comment */
> console.log(greet);
> ok 6936 newline-after-var invalid var greet = 'hello';
> // next-line comment
> // second-line comment
> console.log(greet);
> ok 6937 newline-after-var invalid var greet = 'hello';
> // next-line comment
> /* block comment
> block comment */
> console.log(greet);
> ok 6938 newline-after-var invalid 
>                 var a = 1
>                 ;(b || c).doSomething()
>             
> ok 6939 newline-after-var invalid 
>                 var a = 1
> 
>                 ;(b || c).doSomething()
>             
> ok 6940 newline-after-var invalid 
>                 var a = 1
> 
>                 ;
>                 (b || c).doSomething();
>             
> ok 6941 newline-before-return valid function a() {
> return;
> }
> ok 6942 newline-before-return valid function a() {
> 
> return;
> }
> ok 6943 newline-before-return valid function a() {
> var b;
> 
> return;
> }
> ok 6944 newline-before-return valid function a() {
> if (b) return;
> }
> ok 6945 newline-before-return valid function a() {
> if (b) { return; }
> }
> ok 6946 newline-before-return valid function a() {
> if (b) {
> return;
> }
> }
> ok 6947 newline-before-return valid function a() {
> if (b) {
> 
> return;
> }
> }
> ok 6948 newline-before-return valid function a() {
> if (b) {
> return;
> }
> 
> return c;
> }
> ok 6949 newline-before-return valid function a() {
> if (b) {
> 
> return;
> }
> 
> return c;
> }
> ok 6950 newline-before-return valid function a() {
> if (!b) {
> return;
> } else {
> return b;
> }
> }
> ok 6951 newline-before-return valid function a() {
> if (!b) {
> return;
> } else {
> 
> return b;
> }
> }
> ok 6952 newline-before-return valid function a() {
> if (b) {
> return b;
> } else if (c) {
> return c;
> }
> }
> ok 6953 newline-before-return valid function a() {
> if (b) {
> return b;
> } else if (c) {
> return c;
> } else {
> return d;
> }
> }
> ok 6954 newline-before-return valid function a() {
> if (b) {
> return b;
> } else if (c) {
> return c;
> } else {
> return d;
> }
> 
> return a;
> }
> ok 6955 newline-before-return valid function a() {
> if (b) return b;
> else if (c) return c;
> else return d;
> }
> ok 6956 newline-before-return valid function a() {
> if (b) return b;
> else if (c) return c;
> else {
> return d;
> }
> }
> ok 6957 newline-before-return valid function a() {
> if (b) return b;
> else if (c) return c;
> else {
> e();
> 
> return d;
> }
> }
> ok 6958 newline-before-return valid function a() {
> while (b) return;
> }
> ok 6959 newline-before-return valid function a() {
>  while (b) 
> return;
> }
> ok 6960 newline-before-return valid function a() {
>  while (b) { return; }
> }
> ok 6961 newline-before-return valid function a() {
>  while (b) {
> return;
> }
> }
> ok 6962 newline-before-return valid function a() {
>  while (b) {
> c();
> 
> return;
> }
> }
> ok 6963 newline-before-return valid function a() {
> var c;
> while (b) {
>  c = d; //comment
> }
> 
> return c;
> }
> ok 6964 newline-before-return valid function a() {
> do return;
> while (b);
> }
> ok 6965 newline-before-return valid function a() {
> do 
> return;
> while (b);
> }
> ok 6966 newline-before-return valid function a() {
> do { return; } while (b);
> }
> ok 6967 newline-before-return valid function a() {
> do { return; }
> while (b);
> }
> ok 6968 newline-before-return valid function a() {
> do {
> return;
> } while (b);
> }
> ok 6969 newline-before-return valid function a() {
> do {
> c();
> 
> return;
> } while (b);
> }
> ok 6970 newline-before-return valid function a() {
> for (var b; b < c; b++) return;
> }
> ok 6971 newline-before-return valid function a() {
> for (var b; b < c; b++)
> return;
> }
> ok 6972 newline-before-return valid function a() {
> for (var b; b < c; b++) {
> return;
> }
> }
> ok 6973 newline-before-return valid function a() {
> for (var b; b < c; b++) {
> c();
> 
> return;
> }
> }
> ok 6974 newline-before-return valid function a() {
> for (var b; b < c; b++) {
> if (d) {
> break; //comment
> }
> 
> return;
> }
> }
> ok 6975 newline-before-return valid function a() {
> for (b in c)
> return;
> }
> ok 6976 newline-before-return valid function a() {
> for (b in c) { return; }
> }
> ok 6977 newline-before-return valid function a() {
> for (b in c) {
> return;
> }
> }
> ok 6978 newline-before-return valid function a() {
> for (b in c) {
> d();
> 
> return;
> }
> }
> ok 6979 newline-before-return valid function a() {
> for (b of c) return;
> }
> ok 6980 newline-before-return valid function a() {
> for (b of c)
> return;
> }
> ok 6981 newline-before-return valid function a() {
> for (b of c) {
> return;
> }
> }
> ok 6982 newline-before-return valid function a() {
> for (b of c) {
> d();
> 
> return;
> }
> }
> ok 6983 newline-before-return valid function a() {
> switch (b) {
> case 'b': return;
> }
> }
> ok 6984 newline-before-return valid function a() {
> switch (b) {
> case 'b':
> return;
> }
> }
> ok 6985 newline-before-return valid function a() {
> switch (b) {
> case 'b': {
> return;
> }
> }
> }
> ok 6986 newline-before-return valid function a() {
> //comment
> return b;
> }
> ok 6987 newline-before-return valid function a() {
> {
> //comment
> }
> 
> return
> }
> ok 6988 newline-before-return valid function a() {
> var b = {
> //comment
> };
> 
> return;
> }
> ok 6989 newline-before-return valid function a() {/*multi-line
> comment*/return b;
> }
> ok 6990 newline-before-return valid function a() {
> /*comment
> comment*/
> //comment
> return b;
> }
> ok 6991 newline-before-return valid function a() {
> /*comment
> comment*/
> //comment
> if (b) return;
> }
> ok 6992 newline-before-return valid function a() {
> /*comment
> comment*/
> //comment
> if (b) {
> c();
> 
> return b;
> } else {
> //comment
> return d;
> }
> 
> /*multi-line
> comment*/
> return e;
> }
> ok 6993 newline-before-return valid function a() {
> if (b) { //comment
> return;
> }
> 
> return c;
> }
> ok 6994 newline-before-return valid function a() {
> if (b) { return; } //comment
> 
> return c;
> }
> ok 6995 newline-before-return valid function a() {
> if (b) { return; } /*multi-line
> comment*/
> 
> return c;
> }
> ok 6996 newline-before-return valid function a() {
> if (b) { return; }
> 
> /*multi-line
> comment*/ return c;
> }
> ok 6997 newline-before-return valid return;
> ok 6998 newline-before-return valid var a;
> 
> return;
> ok 6999 newline-before-return valid // comment
> return;
> ok 7000 newline-before-return valid /* comment */
> return;
> ok 7001 newline-before-return valid /* multi-line
> comment */
> return;
> ok 7002 newline-before-return invalid function a() {
> var b; return;
> }
> ok 7003 newline-before-return invalid function a() {
> var b;
> return;
> }
> ok 7004 newline-before-return invalid function a() {
> if (b) return b;
> else if (c) return c;
> else {
> e();
> return d;
> }
> }
> ok 7005 newline-before-return invalid function a() {
> if (b) return b;
> else if (c) return c;
> else {
> e(); return d;
> }
> }
> ok 7006 newline-before-return invalid function a() {
>  while (b) {
> c();
> return;
> }
> }
> ok 7007 newline-before-return invalid function a() {
> do {
> c();
> return;
> } while (b);
> }
> ok 7008 newline-before-return invalid function a() {
> for (var b; b < c; b++) {
> c();
> return;
> }
> }
> ok 7009 newline-before-return invalid function a() {
> for (b in c) {
> d();
> return;
> }
> }
> ok 7010 newline-before-return invalid function a() {
> for (b of c) {
> d();
> return;
> }
> }
> ok 7011 newline-before-return invalid function a() {
> if (b) {
> c();
> }
> //comment
> return b;
> }
> ok 7012 newline-before-return invalid function a() {
> /*comment
> comment*/
> if (b) {
> c();
> return b;
> } else {
> //comment
> 
> return d;
> }
> /*multi-line
> comment*/
> return e;
> }
> ok 7013 newline-before-return invalid function a() {
> if (b) { return; } //comment
> return c;
> }
> ok 7014 newline-before-return invalid function a() {
> if (b) { return; } /*multi-line
> comment*/
> return c;
> }
> ok 7015 newline-before-return invalid function a() {
> if (b) { return; }
> /*multi-line
> comment*/ return c;
> }
> ok 7016 newline-before-return invalid function a() {
> if (b) { return; } /*multi-line
> comment*/ return c;
> }
> ok 7017 newline-before-return invalid var a;
> return;
> ok 7018 newline-before-return invalid var a; return;
> ok 7019 newline-before-return invalid function a() {
> {
> //comment
> }
> return
> }
> ok 7020 newline-before-return invalid function a() {
> {
> //comment
> } return
> }
> ok 7021 newline-before-return invalid function a() {
> var c;
> while (b) {
>  c = d; //comment
> }
> return c;
> }
> ok 7022 newline-before-return invalid function a() {
> for (var b; b < c; b++) {
> if (d) {
> break; //comment
> }
> return;
> }
> }
> ok 7023 newline-before-return invalid function a() {
> var b; /*multi-line
> comment*/
> return c;
> }
> ok 7024 newline-before-return invalid function a() {
> var b;
> /*multi-line
> comment*/ return c;
> }
> ok 7025 newline-before-return invalid function a() {
> var b; /*multi-line
> comment*/ return c;
> }
> ok 7026 newline-before-return invalid function a() {
> var b;
> //comment
> return;
> }
> ok 7027 newline-before-return invalid function a() {
> var b; //comment
> return;
> }
> ok 7028 newline-before-return invalid function a() {
> var b;
> /* comment */ return;
> }
> ok 7029 newline-before-return invalid function a() {
> var b;
> //comment
> /* comment */ return;
> }
> ok 7030 newline-before-return invalid function a() {
> var b; /* comment */ return;
> }
> ok 7031 newline-before-return invalid function a() {
> var b; /* comment */
> return;
> }
> ok 7032 newline-before-return invalid function a() {
> var b;
> return; //comment
> }
> ok 7033 newline-before-return invalid function a() {
> var b; return; //comment
> }
> ok 7034 newline-per-chained-call valid _
> .chain({})
> .map(foo)
> .filter(bar)
> .value();
> ok 7035 newline-per-chained-call valid a.b.c.d.e.f
> ok 7036 newline-per-chained-call valid a()
> .b()
> .c
> .e
> ok 7037 newline-per-chained-call valid var a = m1.m2(); var b = m1.m2();
> var c = m1.m2()
> ok 7038 newline-per-chained-call valid var a = m1()
> .m2();
> ok 7039 newline-per-chained-call valid var a = m1();
> ok 7040 newline-per-chained-call valid a()
> .b().c.e.d()
> ok 7041 newline-per-chained-call valid a().b().c.e.d()
> ok 7042 newline-per-chained-call valid a.b.c.e.d()
> ok 7043 newline-per-chained-call valid var a = window
> .location
> .href
> .match(/(^[^]*)/)[0];
> ok 7044 newline-per-chained-call valid var a = window['location']
> .href
> .match(/(^[^]*)/)[0];
> ok 7045 newline-per-chained-call valid var a = window['location'].href.match(/(^[^]*)/)[0];
> ok 7046 newline-per-chained-call valid var a = m1().m2.m3();
> ok 7047 newline-per-chained-call valid var a = m1().m2.m3().m4.m5().m6.m7().m8;
> ok 7048 newline-per-chained-call invalid _
> .chain({}).map(foo).filter(bar).value();
> ok 7049 newline-per-chained-call invalid _
> .chain({})
> .map(foo)
> .filter(bar).value();
> ok 7050 newline-per-chained-call invalid a().b().c().e.d()
> ok 7051 newline-per-chained-call invalid a.b.c().e().d()
> ok 7052 newline-per-chained-call invalid _.chain({}).map(a).value(); 
> ok 7053 newline-per-chained-call invalid var a = m1.m2();
>  var b = m1.m2().m3().m4().m5();
> ok 7054 newline-per-chained-call invalid var a = m1.m2();
>  var b = m1.m2().m3()
> .m4().m5();
> ok 7055 newline-per-chained-call invalid var a = m1().m2
> .m3().m4().m5().m6().m7();
> ok 7056 newline-per-chained-call invalid http.request({
>     // Param
>     // Param
>     // Param
> }).on('response', function(response) {
>     // Do something with response.
>     // Do something with response.
>     // Do something with response.
>     // Do something with response.
>     // Do something with response.
>     // Do something with response.
>     // Do something with response.
>     // Do something with response.
>     // Do something with response.
>     // Do something with response.
> }).on('error', function(error) {
>     // Do something with error.
>     // Do something with error.
>     // Do something with error.
>     // Do something with error.
>     // Do something with error.
>     // Do something with error.
>     // Do something with error.
>     // Do something with error.
>     // Do something with error.
>     // Do something with error.
> }).end();
> ok 7057 newline-per-chained-call invalid anObject.method1().method2()['method' + n]()[aCondition ?
>     'method3' :
>     'method4']()
> ok 7058 newline-per-chained-call invalid foo.bar()['foo' + 
 + 'bar']()
> ok 7059 newline-per-chained-call invalid foo.bar()[(biz)]()
> ok 7060 newline-per-chained-call invalid (foo).bar().biz()
> ok 7061 newline-per-chained-call invalid foo.bar(). /* comment */ biz()
> ok 7062 newline-per-chained-call invalid foo.bar() /* comment */ .biz()
> ok 7063 no-alert valid a[o.k](1)
> ok 7064 no-alert valid foo.alert(foo)
> ok 7065 no-alert valid foo.confirm(foo)
> ok 7066 no-alert valid foo.prompt(foo)
> ok 7067 no-alert valid function alert() {} alert();
> ok 7068 no-alert valid var alert = function() {}; alert();
> ok 7069 no-alert valid function foo() { var alert = bar; alert(); }
> ok 7070 no-alert valid function foo(alert) { alert(); }
> ok 7071 no-alert valid var alert = function() {}; function test() { alert(); }
> ok 7072 no-alert valid function foo() { var alert = function() {}; function test() { alert(); } }
> ok 7073 no-alert valid function confirm() {} confirm();
> ok 7074 no-alert valid function prompt() {} prompt();
> ok 7075 no-alert valid window[alert]();
> ok 7076 no-alert valid function foo() { this.alert(); }
> ok 7077 no-alert valid function foo() { var window = bar; window.alert(); }
> ok 7078 no-alert invalid alert(foo)
> ok 7079 no-alert invalid window.alert(foo)
> ok 7080 no-alert invalid window['alert'](foo)
> ok 7081 no-alert invalid confirm(foo)
> ok 7082 no-alert invalid window.confirm(foo)
> ok 7083 no-alert invalid window['confirm'](foo)
> ok 7084 no-alert invalid prompt(foo)
> ok 7085 no-alert invalid window.prompt(foo)
> ok 7086 no-alert invalid window['prompt'](foo)
> ok 7087 no-alert invalid function alert() {} window.alert(foo)
> ok 7088 no-alert invalid var alert = function() {};
> window.alert(foo)
> ok 7089 no-alert invalid function foo(alert) { window.alert(); }
> ok 7090 no-alert invalid function foo() { alert(); }
> ok 7091 no-alert invalid function foo() { var alert = function() {}; }
> alert();
> ok 7092 no-alert invalid this.alert(foo)
> ok 7093 no-alert invalid this['alert'](foo)
> ok 7094 no-alert invalid function foo() { var window = bar; window.alert(); }
> window.alert();
> ok 7095 no-array-constructor valid new Array(x)
> ok 7096 no-array-constructor valid Array(x)
> ok 7097 no-array-constructor valid new Array(9)
> ok 7098 no-array-constructor valid Array(9)
> ok 7099 no-array-constructor valid new foo.Array()
> ok 7100 no-array-constructor valid foo.Array()
> ok 7101 no-array-constructor valid new Array.foo
> ok 7102 no-array-constructor valid Array.foo()
> ok 7103 no-array-constructor invalid new Array()
> ok 7104 no-array-constructor invalid new Array
> ok 7105 no-array-constructor invalid new Array(x, y)
> ok 7106 no-array-constructor invalid new Array(0, 1, 2)
> ok 7107 no-async-promise-executor valid new Promise((resolve, reject) => {})
> ok 7108 no-async-promise-executor valid new Promise((resolve, reject) => {}, async function unrelated() {})
> ok 7109 no-async-promise-executor valid new Foo(async (resolve, reject) => {})
> ok 7110 no-async-promise-executor invalid new Promise(async function foo(resolve, reject) {})
> ok 7111 no-async-promise-executor invalid new Promise(async (resolve, reject) => {})
> ok 7112 no-async-promise-executor invalid new Promise(((((async () => {})))))
> ok 7113 no-await-in-loop valid async function foo() { await bar; }
> ok 7114 no-await-in-loop valid async function foo() { for (var bar in await baz) { } }
> ok 7115 no-await-in-loop valid async function foo() { for (var bar of await baz) { } }
> ok 7116 no-await-in-loop valid async function foo() { for await (var bar of await baz) { } }
> ok 7117 no-await-in-loop valid async function foo() { for (var bar = await baz in qux) {} }
> ok 7118 no-await-in-loop valid async function foo() { while (true) { async function foo() { await bar; } } }
> ok 7119 no-await-in-loop valid async function foo() { for (var i = await bar; i < n; i++) {  } }
> ok 7120 no-await-in-loop valid async function foo() { do { } while (bar); }
> ok 7121 no-await-in-loop valid async function foo() { while (true) { var y = async function() { await bar; } } }
> ok 7122 no-await-in-loop valid async function foo() { while (true) { var y = async () => await foo; } }
> ok 7123 no-await-in-loop valid async function foo() { while (true) { var y = async () => { await foo; } } }
> ok 7124 no-await-in-loop valid async function foo() { while (true) { class Foo { async foo() { await bar; } } } }
> ok 7125 no-await-in-loop valid async function foo() { for await (var x of xs) { await f(x) } }
> ok 7126 no-await-in-loop invalid async function foo() { while (baz) { await bar; } }
> ok 7127 no-await-in-loop invalid async function foo() { while (await foo()) {  } }
> ok 7128 no-await-in-loop invalid async function foo() { while (baz) { for await (x of xs); } }
> ok 7129 no-await-in-loop invalid async function foo() { for (var bar of baz) { await bar; } }
> ok 7130 no-await-in-loop invalid async function foo() { for (var bar of baz) await bar; }
> ok 7131 no-await-in-loop invalid async function foo() { for (var bar in baz) { await bar; } }
> ok 7132 no-await-in-loop invalid async function foo() { for (var i; i < n; i++) { await bar; } }
> ok 7133 no-await-in-loop invalid async function foo() { for (var i; await foo(i); i++) {  } }
> ok 7134 no-await-in-loop invalid async function foo() { for (var i; i < n; i = await bar) {  } }
> ok 7135 no-await-in-loop invalid async function foo() { do { await bar; } while (baz); }
> ok 7136 no-await-in-loop invalid async function foo() { do { } while (await bar); }
> ok 7137 no-await-in-loop invalid async function foo() { while (true) { if (bar) { foo(await bar); } } }
> ok 7138 no-await-in-loop invalid async function foo() { while (xyz || 5 > await x) {  } }
> ok 7139 no-await-in-loop invalid async function foo() { for await (var x of xs) { while (1) await f(x) } }
> ok 7140 no-bitwise valid a + b
> ok 7141 no-bitwise valid !a
> ok 7142 no-bitwise valid a += b
> ok 7143 no-bitwise valid ~[1, 2, 3].indexOf(1)
> ok 7144 no-bitwise valid ~1<<2 === -8
> ok 7145 no-bitwise valid a|0
> ok 7146 no-bitwise valid a|0
> ok 7147 no-bitwise invalid a ^ b
> ok 7148 no-bitwise invalid a | b
> ok 7149 no-bitwise invalid a & b
> ok 7150 no-bitwise invalid a << b
> ok 7151 no-bitwise invalid a >> b
> ok 7152 no-bitwise invalid a >>> b
> ok 7153 no-bitwise invalid ~a
> ok 7154 no-bitwise invalid a ^= b
> ok 7155 no-bitwise invalid a |= b
> ok 7156 no-bitwise invalid a &= b
> ok 7157 no-bitwise invalid a <<= b
> ok 7158 no-bitwise invalid a >>= b
> ok 7159 no-bitwise invalid a >>>= b
> ok 7160 no-buffer-constructor valid Buffer.alloc(5)
> ok 7161 no-buffer-constructor valid Buffer.allocUnsafe(5)
> ok 7162 no-buffer-constructor valid new Buffer.Foo()
> ok 7163 no-buffer-constructor valid Buffer.from([1, 2, 3])
> ok 7164 no-buffer-constructor valid foo(Buffer)
> ok 7165 no-buffer-constructor valid Buffer.alloc(res.body.amount)
> ok 7166 no-buffer-constructor valid Buffer.from(res.body.values)
> ok 7167 no-buffer-constructor invalid Buffer(5)
> ok 7168 no-buffer-constructor invalid new Buffer(5)
> ok 7169 no-buffer-constructor invalid Buffer([1, 2, 3])
> ok 7170 no-buffer-constructor invalid new Buffer([1, 2, 3])
> ok 7171 no-buffer-constructor invalid new Buffer(res.body.amount)
> ok 7172 no-buffer-constructor invalid new Buffer(res.body.values)
> ok 7173 no-caller valid var x = arguments.length
> ok 7174 no-caller valid var x = arguments
> ok 7175 no-caller valid var x = arguments[0]
> ok 7176 no-caller valid var x = arguments[caller]
> ok 7177 no-caller invalid var x = arguments.callee
> ok 7178 no-caller invalid var x = arguments.caller
> ok 7179 no-case-declarations valid switch (a) { case 1: { let x = 1; break; } default: { let x = 2; break; } }
> ok 7180 no-case-declarations valid switch (a) { case 1: { const x = 1; break; } default: { const x = 2; break; } }
> ok 7181 no-case-declarations valid switch (a) { case 1: { function f() {} break; } default: { function f() {} break; } }
> ok 7182 no-case-declarations valid switch (a) { case 1: { class C {} break; } default: { class C {} break; } }
> ok 7183 no-case-declarations invalid switch (a) { case 1: let x = 1; break; }
> ok 7184 no-case-declarations invalid switch (a) { default: let x = 2; break; }
> ok 7185 no-case-declarations invalid switch (a) { case 1: const x = 1; break; }
> ok 7186 no-case-declarations invalid switch (a) { default: const x = 2; break; }
> ok 7187 no-case-declarations invalid switch (a) { case 1: function f() {} break; }
> ok 7188 no-case-declarations invalid switch (a) { default: function f() {} break; }
> ok 7189 no-case-declarations invalid switch (a) { case 1: class C {} break; }
> ok 7190 no-case-declarations invalid switch (a) { default: class C {} break; }
> ok 7191 no-catch-shadow valid var foo = 1; try { bar(); } catch(baz) { }
> ok 7192 no-catch-shadow valid 'use strict';
> 
> function broken() {
>   try {
>     throw new Error();
>   } catch (e) {
>     //
>   }
> }
> 
> module.exports = broken;
> ok 7193 no-catch-shadow valid try {} catch (error) {}
> ok 7194 no-catch-shadow valid try {} catch {}
> ok 7195 no-catch-shadow invalid var foo = 1; try { bar(); } catch(foo) { }
> ok 7196 no-catch-shadow invalid function foo(){} try { bar(); } catch(foo) { }
> ok 7197 no-catch-shadow invalid function foo(){ try { bar(); } catch(foo) { } }
> ok 7198 no-catch-shadow invalid var foo = function(){ try { bar(); } catch(foo) { } };
> ok 7199 no-class-assign valid class A { } foo(A);
> ok 7200 no-class-assign valid let A = class A { }; foo(A);
> ok 7201 no-class-assign valid class A { b(A) { A = 0; } }
> ok 7202 no-class-assign valid class A { b() { let A; A = 0; } }
> ok 7203 no-class-assign valid let A = class { b() { A = 0; } }
> ok 7204 no-class-assign valid var x = 0; x = 1;
> ok 7205 no-class-assign valid let x = 0; x = 1;
> ok 7206 no-class-assign valid const x = 0; x = 1;
> ok 7207 no-class-assign valid function x() {} x = 1;
> ok 7208 no-class-assign valid function foo(x) { x = 1; }
> ok 7209 no-class-assign valid try {} catch (x) { x = 1; }
> ok 7210 no-class-assign invalid class A { } A = 0;
> ok 7211 no-class-assign invalid class A { } ({A} = 0);
> ok 7212 no-class-assign invalid class A { } ({b: A = 0} = {});
> ok 7213 no-class-assign invalid A = 0; class A { }
> ok 7214 no-class-assign invalid class A { b() { A = 0; } }
> ok 7215 no-class-assign invalid let A = class A { b() { A = 0; } }
> ok 7216 no-class-assign invalid class A { } A = 0; A = 1;
> ok 7217 no-compare-neg-zero valid x === 0
> ok 7218 no-compare-neg-zero valid 0 === x
> ok 7219 no-compare-neg-zero valid x == 0
> ok 7220 no-compare-neg-zero valid 0 == x
> ok 7221 no-compare-neg-zero valid x === '0'
> ok 7222 no-compare-neg-zero valid '0' === x
> ok 7223 no-compare-neg-zero valid x == '0'
> ok 7224 no-compare-neg-zero valid '0' == x
> ok 7225 no-compare-neg-zero valid x === '-0'
> ok 7226 no-compare-neg-zero valid '-0' === x
> ok 7227 no-compare-neg-zero valid x == '-0'
> ok 7228 no-compare-neg-zero valid '-0' == x
> ok 7229 no-compare-neg-zero valid x === -1
> ok 7230 no-compare-neg-zero valid -1 === x
> ok 7231 no-compare-neg-zero valid x < 0
> ok 7232 no-compare-neg-zero valid 0 < x
> ok 7233 no-compare-neg-zero valid x <= 0
> ok 7234 no-compare-neg-zero valid 0 <= x
> ok 7235 no-compare-neg-zero valid x > 0
> ok 7236 no-compare-neg-zero valid 0 > x
> ok 7237 no-compare-neg-zero valid x >= 0
> ok 7238 no-compare-neg-zero valid 0 >= x
> ok 7239 no-compare-neg-zero valid x != 0
> ok 7240 no-compare-neg-zero valid 0 != x
> ok 7241 no-compare-neg-zero valid x !== 0
> ok 7242 no-compare-neg-zero valid 0 !== x
> ok 7243 no-compare-neg-zero valid Object.is(x, -0)
> ok 7244 no-compare-neg-zero invalid x === -0
> ok 7245 no-compare-neg-zero invalid -0 === x
> ok 7246 no-compare-neg-zero invalid x == -0
> ok 7247 no-compare-neg-zero invalid -0 == x
> ok 7248 no-compare-neg-zero invalid x > -0
> ok 7249 no-compare-neg-zero invalid -0 > x
> ok 7250 no-compare-neg-zero invalid x >= -0
> ok 7251 no-compare-neg-zero invalid -0 >= x
> ok 7252 no-compare-neg-zero invalid x < -0
> ok 7253 no-compare-neg-zero invalid -0 < x
> ok 7254 no-compare-neg-zero invalid x <= -0
> ok 7255 no-compare-neg-zero invalid -0 <= x
> ok 7256 no-cond-assign valid var x = 0; if (x == 0) { var b = 1; }
> ok 7257 no-cond-assign valid var x = 0; if (x == 0) { var b = 1; }
> ok 7258 no-cond-assign valid var x = 5; while (x < 5) { x = x + 1; }
> ok 7259 no-cond-assign valid if ((someNode = someNode.parentNode) !== null) { }
> ok 7260 no-cond-assign valid if ((someNode = someNode.parentNode) !== null) { }
> ok 7261 no-cond-assign valid if ((a = b));
> ok 7262 no-cond-assign valid while ((a = b));
> ok 7263 no-cond-assign valid do {} while ((a = b));
> ok 7264 no-cond-assign valid for (;(a = b););
> ok 7265 no-cond-assign valid for (;;) {}
> ok 7266 no-cond-assign valid if (someNode || (someNode = parentNode)) { }
> ok 7267 no-cond-assign valid while (someNode || (someNode = parentNode)) { }
> ok 7268 no-cond-assign valid do { } while (someNode || (someNode = parentNode));
> ok 7269 no-cond-assign valid for (;someNode || (someNode = parentNode););
> ok 7270 no-cond-assign valid if ((function(node) { return node = parentNode; })(someNode)) { }
> ok 7271 no-cond-assign valid if ((function(node) { return node = parentNode; })(someNode)) { }
> ok 7272 no-cond-assign valid if ((node => node = parentNode)(someNode)) { }
> ok 7273 no-cond-assign valid if ((node => node = parentNode)(someNode)) { }
> ok 7274 no-cond-assign valid if (function(node) { return node = parentNode; }) { }
> ok 7275 no-cond-assign valid if (function(node) { return node = parentNode; }) { }
> ok 7276 no-cond-assign valid x = 0;
> ok 7277 no-cond-assign valid var x; var b = (x === 0) ? 1 : 0;
> ok 7278 no-cond-assign invalid var x; if (x = 0) { var b = 1; }
> ok 7279 no-cond-assign invalid var x; while (x = 0) { var b = 1; }
> ok 7280 no-cond-assign invalid var x = 0, y; do { y = x; } while (x = x + 1);
> ok 7281 no-cond-assign invalid var x; for(; x+=1 ;){};
> ok 7282 no-cond-assign invalid var x; if ((x) = (0));
> ok 7283 no-cond-assign invalid if (someNode || (someNode = parentNode)) { }
> ok 7284 no-cond-assign invalid while (someNode || (someNode = parentNode)) { }
> ok 7285 no-cond-assign invalid do { } while (someNode || (someNode = parentNode));
> ok 7286 no-cond-assign invalid for (; (typeof l === 'undefined' ? (l = 0) : l); i++) { }
> ok 7287 no-cond-assign invalid if (x = 0) { }
> ok 7288 no-cond-assign invalid while (x = 0) { }
> ok 7289 no-cond-assign invalid do { } while (x = x + 1);
> ok 7290 no-cond-assign invalid for(; x = y; ) { }
> ok 7291 no-cond-assign invalid if ((x = 0)) { }
> ok 7292 no-cond-assign invalid while ((x = 0)) { }
> ok 7293 no-cond-assign invalid do { } while ((x = x + 1));
> ok 7294 no-cond-assign invalid for(; (x = y); ) { }
> ok 7295 no-cond-assign invalid var x; var b = (x = 0) ? 1 : 0;
> ok 7296 no-confusing-arrow valid a => { return 1 ? 2 : 3; }
> ok 7297 no-confusing-arrow valid var x = a => { return 1 ? 2 : 3; }
> ok 7298 no-confusing-arrow valid var x = (a) => { return 1 ? 2 : 3; }
> ok 7299 no-confusing-arrow valid var x = a => (1 ? 2 : 3)
> ok 7300 no-confusing-arrow invalid a => 1 ? 2 : 3
> ok 7301 no-confusing-arrow invalid var x = a => 1 ? 2 : 3
> ok 7302 no-confusing-arrow invalid var x = (a) => 1 ? 2 : 3
> ok 7303 no-confusing-arrow invalid var x = a => (1 ? 2 : 3)
> ok 7304 no-confusing-arrow invalid a => 1 ? 2 : 3
> ok 7305 no-confusing-arrow invalid var x = a => 1 ? 2 : 3
> ok 7306 no-confusing-arrow invalid var x = (a) => 1 ? 2 : 3
> ok 7307 no-console valid Console.info(foo)
> ok 7308 no-console valid console.info(foo)
> ok 7309 no-console valid console.warn(foo)
> ok 7310 no-console valid console.error(foo)
> ok 7311 no-console valid console.log(foo)
> ok 7312 no-console valid console.info(foo)
> ok 7313 no-console valid console.warn(foo)
> ok 7314 no-console valid console.error(foo)
> ok 7315 no-console valid console.log(foo)
> ok 7316 no-console valid var console = require('myconsole'); console.log(foo)
> ok 7317 no-console invalid console.log(foo)
> ok 7318 no-console invalid console.error(foo)
> ok 7319 no-console invalid console.info(foo)
> ok 7320 no-console invalid console.warn(foo)
> ok 7321 no-console invalid console.log(foo)
> ok 7322 no-console invalid console.error(foo)
> ok 7323 no-console invalid console.info(foo)
> ok 7324 no-console invalid console.warn(foo)
> ok 7325 no-console invalid console.log(foo)
> ok 7326 no-console invalid console.error(foo)
> ok 7327 no-console invalid console.info(foo)
> ok 7328 no-console invalid console.warn(foo)
> ok 7329 no-console invalid console.log(foo)
> ok 7330 no-const-assign valid const x = 0; { let x; x = 1; }
> ok 7331 no-const-assign valid const x = 0; function a(x) { x = 1; }
> ok 7332 no-const-assign valid const x = 0; foo(x);
> ok 7333 no-const-assign valid for (const x in [1,2,3]) { foo(x); }
> ok 7334 no-const-assign valid for (const x of [1,2,3]) { foo(x); }
> ok 7335 no-const-assign valid const x = {key: 0}; x.key = 1;
> ok 7336 no-const-assign valid var x = 0; x = 1;
> ok 7337 no-const-assign valid let x = 0; x = 1;
> ok 7338 no-const-assign valid function x() {} x = 1;
> ok 7339 no-const-assign valid function foo(x) { x = 1; }
> ok 7340 no-const-assign valid class X {} X = 1;
> ok 7341 no-const-assign valid try {} catch (x) { x = 1; }
> ok 7342 no-const-assign invalid const x = 0; x = 1;
> ok 7343 no-const-assign invalid const {a: x} = {a: 0}; x = 1;
> ok 7344 no-const-assign invalid const x = 0; ({x} = {x: 1});
> ok 7345 no-const-assign invalid const x = 0; ({a: x = 1} = {});
> ok 7346 no-const-assign invalid const x = 0; x += 1;
> ok 7347 no-const-assign invalid const x = 0; ++x;
> ok 7348 no-const-assign invalid for (const i = 0; i < 10; ++i) { foo(i); }
> ok 7349 no-const-assign invalid const x = 0; x = 1; x = 2;
> ok 7350 no-const-assign invalid const x = 0; function foo() { x = x + 1; }
> ok 7351 no-const-assign invalid const x = 0; function foo(a) { x = a; }
> ok 7352 no-const-assign invalid const x = 0; while (true) { x = x + 1; }
> ok 7353 no-constant-condition valid if(a);
> ok 7354 no-constant-condition valid if(a == 0);
> ok 7355 no-constant-condition valid if(a = f());
> ok 7356 no-constant-condition valid if(1, a);
> ok 7357 no-constant-condition valid if ('every' in []);
> ok 7358 no-constant-condition valid while(~!a);
> ok 7359 no-constant-condition valid while(a = b);
> ok 7360 no-constant-condition valid for(;x < 10;);
> ok 7361 no-constant-condition valid for(;;);
> ok 7362 no-constant-condition valid do{ }while(x)
> ok 7363 no-constant-condition valid q > 0 ? 1 : 2;
> ok 7364 no-constant-condition valid while(x += 3) {}
> ok 7365 no-constant-condition valid if(typeof x === 'undefined'){}
> ok 7366 no-constant-condition valid if(a === 'str' && typeof b){}
> ok 7367 no-constant-condition valid typeof a == typeof b
> ok 7368 no-constant-condition valid typeof 'a' === 'string'|| typeof b === 'string'
> ok 7369 no-constant-condition valid if (void a || a);
> ok 7370 no-constant-condition valid if (a || void a);
> ok 7371 no-constant-condition valid if(xyz === 'str1' && abc==='str2'){}
> ok 7372 no-constant-condition valid if(xyz === 'str1' || abc==='str2'){}
> ok 7373 no-constant-condition valid if(xyz === 'str1' || abc==='str2' && pqr === 5){}
> ok 7374 no-constant-condition valid if(typeof abc === 'string' && abc==='str2'){}
> ok 7375 no-constant-condition valid if(false || abc==='str'){}
> ok 7376 no-constant-condition valid if(true && abc==='str'){}
> ok 7377 no-constant-condition valid if(typeof 'str' && abc==='str'){}
> ok 7378 no-constant-condition valid if(abc==='str' || false || def ==='str'){}
> ok 7379 no-constant-condition valid if(true && abc==='str' || def ==='str'){}
> ok 7380 no-constant-condition valid if(true && typeof abc==='string'){}
> ok 7381 no-constant-condition valid if('str' || a){}
> ok 7382 no-constant-condition valid if('str1' && a){}
> ok 7383 no-constant-condition valid if(a && 'str'){}
> ok 7384 no-constant-condition valid if('str' || abc==='str'){}
> ok 7385 no-constant-condition valid if ((foo || 'bar') === 'baz') {}
> ok 7386 no-constant-condition valid if ((foo || 'bar') !== 'baz') {}
> ok 7387 no-constant-condition valid if ((foo || 'bar') == 'baz') {}
> ok 7388 no-constant-condition valid if ((foo || 'bar') != 'baz') {}
> ok 7389 no-constant-condition valid if ((foo || 233) > 666) {}
> ok 7390 no-constant-condition valid if ((foo || 233) < 666) {}
> ok 7391 no-constant-condition valid if ((foo || 233) >= 666) {}
> ok 7392 no-constant-condition valid if ((foo || 233) <= 666) {}
> ok 7393 no-constant-condition valid if ((key || 'k') in obj) {}
> ok 7394 no-constant-condition valid if ((foo || {}) instanceof obj) {}
> ok 7395 no-constant-condition valid while(true);
> ok 7396 no-constant-condition valid for(;true;);
> ok 7397 no-constant-condition valid do{}while(true)
> ok 7398 no-constant-condition valid function* foo(){while(true){yield 'foo';}}
> ok 7399 no-constant-condition valid function* foo(){for(;true;){yield 'foo';}}
> ok 7400 no-constant-condition valid function* foo(){do{yield 'foo';}while(true)}
> ok 7401 no-constant-condition valid function* foo(){while (true) { while(true) {yield;}}}
> ok 7402 no-constant-condition valid function* foo() {for (; yield; ) {}}
> ok 7403 no-constant-condition valid function* foo() {for (; ; yield) {}}
> ok 7404 no-constant-condition valid function* foo() {while (true) {function* foo() {yield;}yield;}}
> ok 7405 no-constant-condition valid function* foo() { for (let x = yield; x < 10; x++) {yield;}yield;}
> ok 7406 no-constant-condition valid function* foo() { for (let x = yield; ; x++) { yield; }}
> ok 7407 no-constant-condition invalid for(;true;);
> ok 7408 no-constant-condition invalid do{}while(true)
> ok 7409 no-constant-condition invalid do{}while(t = -2)
> ok 7410 no-constant-condition invalid true ? 1 : 2;
> ok 7411 no-constant-condition invalid q = 0 ? 1 : 2;
> ok 7412 no-constant-condition invalid (q = 0) ? 1 : 2;
> ok 7413 no-constant-condition invalid if(-2);
> ok 7414 no-constant-condition invalid if(true);
> ok 7415 no-constant-condition invalid if({});
> ok 7416 no-constant-condition invalid if(0 < 1);
> ok 7417 no-constant-condition invalid if(0 || 1);
> ok 7418 no-constant-condition invalid if(a, 1);
> ok 7419 no-constant-condition invalid while([]);
> ok 7420 no-constant-condition invalid while(~!0);
> ok 7421 no-constant-condition invalid while(x = 1);
> ok 7422 no-constant-condition invalid while(function(){});
> ok 7423 no-constant-condition invalid while(true);
> ok 7424 no-constant-condition invalid while(() => {});
> ok 7425 no-constant-condition invalid if(typeof x){}
> ok 7426 no-constant-condition invalid if(typeof 'abc' === 'string'){}
> ok 7427 no-constant-condition invalid if(a = typeof b){}
> ok 7428 no-constant-condition invalid if(a, typeof b){}
> ok 7429 no-constant-condition invalid if(typeof 'a' == 'string' || typeof 'b' == 'string'){}
> ok 7430 no-constant-condition invalid while(typeof x){}
> ok 7431 no-constant-condition invalid if(1 || void x);
> ok 7432 no-constant-condition invalid if(void x);
> ok 7433 no-constant-condition invalid if(y = void x);
> ok 7434 no-constant-condition invalid if(x, void x);
> ok 7435 no-constant-condition invalid if(void x === void y);
> ok 7436 no-constant-condition invalid if(void x && a);
> ok 7437 no-constant-condition invalid if(a && void x);
> ok 7438 no-constant-condition invalid if(false && abc==='str'){}
> ok 7439 no-constant-condition invalid if(true || abc==='str'){}
> ok 7440 no-constant-condition invalid if(abc==='str' || true){}
> ok 7441 no-constant-condition invalid if(abc==='str' || true || def ==='str'){}
> ok 7442 no-constant-condition invalid if(false || true){}
> ok 7443 no-constant-condition invalid if(typeof abc==='str' || true){}
> ok 7444 no-constant-condition invalid if('str1' || 'str2'){}
> ok 7445 no-constant-condition invalid if('str1' && 'str2'){}
> ok 7446 no-constant-condition invalid if(abc==='str' || 'str'){}
> ok 7447 no-constant-condition invalid if(a || 'str'){}
> ok 7448 no-constant-condition invalid function* foo(){while(true){} yield 'foo';}
> ok 7449 no-constant-condition invalid function* foo(){while(true){if (true) {yield 'foo';}}}
> ok 7450 no-constant-condition invalid function* foo(){while(true){yield 'foo';} while(true) {}}
> ok 7451 no-constant-condition invalid var a = function* foo(){while(true){} yield 'foo';}
> ok 7452 no-constant-condition invalid while (true) { function* foo() {yield;}}
> ok 7453 no-constant-condition invalid function* foo(){if (true) {yield 'foo';}}
> ok 7454 no-constant-condition invalid function* foo() {for (let foo = yield; true;) {}}
> ok 7455 no-constant-condition invalid function* foo() {for (foo = yield; true;) {}}
> ok 7456 no-constant-condition invalid function foo() {while (true) {function* bar() {while (true) {yield;}}}}
> ok 7457 no-constant-condition invalid function foo() {while (true) {const bar = function*() {while (true) {yield;}}}}
> ok 7458 no-constant-condition invalid function* foo() { for (let foo = 1 + 2 + 3 + (yield); true; baz) {}}
> ok 7459 no-continue valid var sum = 0, i; for(i = 0; i < 10; i++){ if(i > 5) { sum += i; } }
> ok 7460 no-continue valid var sum = 0, i = 0; while(i < 10) { if(i > 5) { sum += i; } i++; }
> ok 7461 no-continue invalid var sum = 0, i; for(i = 0; i < 10; i++){ if(i <= 5) { continue; } sum += i; }
> ok 7462 no-continue invalid var sum = 0, i; myLabel: for(i = 0; i < 10; i++){ if(i <= 5) { continue myLabel; } sum += i; }
> ok 7463 no-continue invalid var sum = 0, i = 0; while(i < 10) { if(i <= 5) { i++; continue; } sum += i; i++; }
> ok 7464 no-continue invalid var sum = 0, i = 0; myLabel: while(i < 10) { if(i <= 5) { i++; continue myLabel; } sum += i; i++; }
> ok 7465 no-control-regex valid var regex = /x1f/
> ok 7466 no-control-regex valid var regex = /\\x1f/
> ok 7467 no-control-regex valid var regex = new RegExp('x1f')
> ok 7468 no-control-regex valid var regex = RegExp('x1f')
> ok 7469 no-control-regex valid new RegExp('[')
> ok 7470 no-control-regex valid RegExp('[')
> ok 7471 no-control-regex valid new (function foo(){})('\x1f')
> ok 7472 no-control-regex invalid var regex = /\x1f/
> ok 7473 no-control-regex invalid var regex = /\\\x1f\\x1e/
> ok 7474 no-control-regex invalid var regex = /\\\x1fFOO\\x00/
> ok 7475 no-control-regex invalid var regex = /FOO\\\x1fFOO\\x1f/
> ok 7476 no-control-regex invalid var regex = new RegExp('\x1f\x1e')
> ok 7477 no-control-regex invalid var regex = new RegExp('\x1fFOO\x00')
> ok 7478 no-control-regex invalid var regex = new RegExp('FOO\x1fFOO\x1f')
> ok 7479 no-control-regex invalid var regex = RegExp('\x1f')
> ok 7480 no-control-regex invalid var regex = /(?<a>\x1f)/
> ok 7481 no-debugger valid var test = { debugger: 1 }; test.debugger;
> ok 7482 no-debugger invalid if (foo) debugger
> ok 7483 no-delete-var valid delete x.prop;
> ok 7484 no-delete-var invalid delete x
> ok 7485 no-div-regex valid var f = function() { return /foo/ig.test('bar'); };
> ok 7486 no-div-regex valid var f = function() { return /\=foo/; };
> ok 7487 no-div-regex invalid var f = function() { return /=foo/; };
> ok 7488 no-dupe-args valid function a(a, b, c){}
> ok 7489 no-dupe-args valid var a = function(a, b, c){}
> ok 7490 no-dupe-args valid function a({a, b}, {c, d}){}
> ok 7491 no-dupe-args valid function a([ , a]) {}
> ok 7492 no-dupe-args valid function foo([[a, b], [c, d]]) {}
> ok 7493 no-dupe-args invalid function a(a, b, b) {}
> ok 7494 no-dupe-args invalid function a(a, a, a) {}
> ok 7495 no-dupe-args invalid function a(a, b, a) {}
> ok 7496 no-dupe-args invalid function a(a, b, a, b) {}
> ok 7497 no-dupe-args invalid var a = function(a, b, b) {}
> ok 7498 no-dupe-args invalid var a = function(a, a, a) {}
> ok 7499 no-dupe-args invalid var a = function(a, b, a) {}
> ok 7500 no-dupe-args invalid var a = function(a, b, a, b) {}
> ok 7501 no-dupe-class-members valid class A { foo() {} bar() {} }
> ok 7502 no-dupe-class-members valid class A { static foo() {} foo() {} }
> ok 7503 no-dupe-class-members valid class A { get foo() {} set foo(value) {} }
> ok 7504 no-dupe-class-members valid class A { static foo() {} get foo() {} set foo(value) {} }
> ok 7505 no-dupe-class-members valid class A { foo() { } } class B { foo() { } }
> ok 7506 no-dupe-class-members valid class A { [foo]() {} foo() {} }
> ok 7507 no-dupe-class-members valid class A { 'foo'() {} 'bar'() {} baz() {} }
> ok 7508 no-dupe-class-members valid class A { *'foo'() {} *'bar'() {} *baz() {} }
> ok 7509 no-dupe-class-members valid class A { get 'foo'() {} get 'bar'() {} get baz() {} }
> ok 7510 no-dupe-class-members valid class A { 1() {} 2() {} }
> ok 7511 no-dupe-class-members invalid class A { foo() {} foo() {} }
> ok 7512 no-dupe-class-members invalid !class A { foo() {} foo() {} };
> ok 7513 no-dupe-class-members invalid class A { 'foo'() {} 'foo'() {} }
> ok 7514 no-dupe-class-members invalid class A { 10() {} 1e1() {} }
> ok 7515 no-dupe-class-members invalid class A { foo() {} foo() {} foo() {} }
> ok 7516 no-dupe-class-members invalid class A { static foo() {} static foo() {} }
> ok 7517 no-dupe-class-members invalid class A { foo() {} get foo() {} }
> ok 7518 no-dupe-class-members invalid class A { set foo(value) {} foo() {} }
> ok 7519 no-dupe-keys valid var foo = { __proto__: 1, two: 2};
> ok 7520 no-dupe-keys valid var x = { foo: 1, bar: 2 };
> ok 7521 no-dupe-keys valid +{ get a() { }, set a(b) { } };
> ok 7522 no-dupe-keys valid var x = { a: b, [a]: b };
> ok 7523 no-dupe-keys valid var x = { a: b, ...c }
> ok 7524 no-dupe-keys valid var x = { get a() {}, set a (value) {} };
> ok 7525 no-dupe-keys valid var x = { a: 1, b: { a: 2 } };
> ok 7526 no-dupe-keys valid var {a, a} = obj
> ok 7527 no-dupe-keys invalid var x = { a: b, ['a']: b };
> ok 7528 no-dupe-keys invalid var x = { y: 1, y: 2 };
> ok 7529 no-dupe-keys invalid var foo = { 0x1: 1, 1: 2};
> ok 7530 no-dupe-keys invalid var x = { "z": 1, z: 2 };
> ok 7531 no-dupe-keys invalid var foo = {
>   bar: 1,
>   bar: 1,
> }
> ok 7532 no-dupe-keys invalid var x = { a: 1, get a() {} };
> ok 7533 no-dupe-keys invalid var x = { a: 1, set a(value) {} };
> ok 7534 no-dupe-keys invalid var x = { a: 1, b: { a: 2 }, get b() {} };
> ok 7535 no-duplicate-case valid var a = 1; switch (a) {case 1: break; case 2: break; default: break;}
> ok 7536 no-duplicate-case valid var a = 1; switch (a) {case 1: break; case '1': break; default: break;}
> ok 7537 no-duplicate-case valid var a = 1; switch (a) {case 1: break; case true: break; default: break;}
> ok 7538 no-duplicate-case valid var a = 1; switch (a) {default: break;}
> ok 7539 no-duplicate-case valid var a = 1, p = {p: {p1: 1, p2: 1}}; switch (a) {case p.p.p1: break; case p.p.p2: break; default: break;}
> ok 7540 no-duplicate-case valid var a = 1, f = function(b) { return b ? { p1: 1 } : { p1: 2 }; }; switch (a) {case f(true).p1: break; case f(true, false).p1: break; default: break;}
> ok 7541 no-duplicate-case valid var a = 1, f = function(s) { return { p1: s } }; switch (a) {case f(a + 1).p1: break; case f(a + 2).p1: break; default: break;}
> ok 7542 no-duplicate-case valid var a = 1, f = function(s) { return { p1: s } }; switch (a) {case f(a == 1 ? 2 : 3).p1: break; case f(a === 1 ? 2 : 3).p1: break; default: break;}
> ok 7543 no-duplicate-case valid var a = 1, f1 = function() { return { p1: 1 } }, f2 = function() { return { p1: 2 } }; switch (a) {case f1().p1: break; case f2().p1: break; default: break;}
> ok 7544 no-duplicate-case valid var a = [1,2]; switch(a.toString()){case ([1,2]).toString():break; case ([1]).toString():break; default:break;}
> ok 7545 no-duplicate-case invalid var a = 1; switch (a) {case 1: break; case 1: break; case 2: break; default: break;}
> ok 7546 no-duplicate-case invalid var a = '1'; switch (a) {case '1': break; case '1': break; case '2': break; default: break;}
> ok 7547 no-duplicate-case invalid var a = 1, one = 1; switch (a) {case one: break; case one: break; case 2: break; default: break;}
> ok 7548 no-duplicate-case invalid var a = 1, p = {p: {p1: 1, p2: 1}}; switch (a) {case p.p.p1: break; case p.p.p1: break; default: break;}
> ok 7549 no-duplicate-case invalid var a = 1, f = function(b) { return b ? { p1: 1 } : { p1: 2 }; }; switch (a) {case f(true).p1: break; case f(true).p1: break; default: break;}
> ok 7550 no-duplicate-case invalid var a = 1, f = function(s) { return { p1: s } }; switch (a) {case f(a + 1).p1: break; case f(a + 1).p1: break; default: break;}
> ok 7551 no-duplicate-case invalid var a = 1, f = function(s) { return { p1: s } }; switch (a) {case f(a === 1 ? 2 : 3).p1: break; case f(a === 1 ? 2 : 3).p1: break; default: break;}
> ok 7552 no-duplicate-case invalid var a = 1, f1 = function() { return { p1: 1 } }; switch (a) {case f1().p1: break; case f1().p1: break; default: break;}
> ok 7553 no-duplicate-case invalid var a = [1, 2]; switch(a.toString()){case ([1, 2]).toString():break; case ([1, 2]).toString():break; default:break;}
> ok 7554 no-duplicate-imports valid import os from "os";
> import fs from "fs";
> ok 7555 no-duplicate-imports valid import { merge } from "lodash-es";
> ok 7556 no-duplicate-imports valid import _, { merge } from "lodash-es";
> ok 7557 no-duplicate-imports valid import * as Foobar from "async";
> ok 7558 no-duplicate-imports valid import "foo"
> ok 7559 no-duplicate-imports valid import os from "os";
> export { something } from "os";
> ok 7560 no-duplicate-imports valid import os from "os";
> export { hello } from "hello";
> ok 7561 no-duplicate-imports valid import os from "os";
> export * from "hello";
> ok 7562 no-duplicate-imports valid import os from "os";
> export { hello as hi } from "hello";
> ok 7563 no-duplicate-imports valid import os from "os";
> export default function(){};
> ok 7564 no-duplicate-imports valid import { merge } from "lodash-es";
> export { merge as lodashMerge }
> ok 7565 no-duplicate-imports invalid import "fs";
> import "fs"
> ok 7566 no-duplicate-imports invalid import { merge } from "lodash-es";import { find } from "lodash-es";
> ok 7567 no-duplicate-imports invalid import { merge } from "lodash-es";import _ from "lodash-es";
> ok 7568 no-duplicate-imports invalid export { os } from "os";
> export { something } from "os";
> ok 7569 no-duplicate-imports invalid import os from "os"; export { os as foobar } from "os";
> export { something } from "os";
> ok 7570 no-duplicate-imports invalid import os from "os";
> export { something } from "os";
> ok 7571 no-duplicate-imports invalid import os from "os";
> export * from "os";
> ok 7572 no-else-return valid function foo() { if (true) { if (false) { return x; } } else { return y; } }
> ok 7573 no-else-return valid function foo() { if (true) { return x; } return y; }
> ok 7574 no-else-return valid function foo() { if (true) { for (;;) { return x; } } else { return y; } }
> ok 7575 no-else-return valid function foo() { var x = true; if (x) { return x; } else if (x === false) { return false; } }
> ok 7576 no-else-return valid function foo() { if (true) notAReturn(); else return y; }
> ok 7577 no-else-return valid function foo() {if (x) { notAReturn(); } else if (y) { return true; } else { notAReturn(); } }
> ok 7578 no-else-return valid function foo() {if (x) { return true; } else if (y) { notAReturn() } else { notAReturn(); } }
> ok 7579 no-else-return valid if (0) { if (0) {} else {} } else {}
> ok 7580 no-else-return valid 
>             function foo() {
>                 if (foo)
>                     if (bar) return;
>                     else baz;
>                 else qux;
>             }
>         
> ok 7581 no-else-return valid 
>             function foo() {
>                 while (foo)
>                     if (bar) return;
>                     else baz;
>             }
>         
> ok 7582 no-else-return valid function foo19() { if (true) { return x; } else if (false) { return y; } }
> ok 7583 no-else-return valid function foo20() {if (x) { return true; } else if (y) { notAReturn() } else { notAReturn(); } }
> ok 7584 no-else-return valid function foo21() { var x = true; if (x) { return x; } else if (x === false) { return false; } }
> ok 7585 no-else-return invalid function foo1() { if (true) { return x; } else { return y; } }
> ok 7586 no-else-return invalid function foo2() { if (true) { var x = bar; return x; } else { var y = baz; return y; } }
> ok 7587 no-else-return invalid function foo3() { if (true) return x; else return y; }
> ok 7588 no-else-return invalid function foo4() { if (true) { if (false) return x; else return y; } else { return z; } }
> ok 7589 no-else-return invalid function foo5() { if (true) { if (false) { if (true) return x; else { w = y; } } else { w = x; } } else { return z; } }
> ok 7590 no-else-return invalid function foo6() { if (true) { if (false) { if (true) return x; else return y; } } else { return z; } }
> ok 7591 no-else-return invalid function foo7() { if (true) { if (false) { if (true) return x; else return y; } return w; } else { return z; } }
> ok 7592 no-else-return invalid function foo8() { if (true) { if (false) { if (true) return x; else return y; } else { w = x; } } else { return z; } }
> ok 7593 no-else-return invalid function foo9() {if (x) { return true; } else if (y) { return true; } else { notAReturn(); } }
> ok 7594 no-else-return invalid function foo9a() {if (x) { return true; } else if (y) { return true; } else { notAReturn(); } }
> ok 7595 no-else-return invalid function foo9b() {if (x) { return true; } if (y) { return true; } else { notAReturn(); } }
> ok 7596 no-else-return invalid function foo10() { if (foo) return bar; else (foo).bar(); }
> ok 7597 no-else-return invalid function foo11() { if (foo) return bar 
> else { [1, 2, 3].map(foo) } }
> ok 7598 no-else-return invalid function foo12() { if (foo) return bar 
> else { baz() } 
> [1, 2, 3].map(foo) }
> ok 7599 no-else-return invalid function foo13() { if (foo) return bar; 
> else { [1, 2, 3].map(foo) } }
> ok 7600 no-else-return invalid function foo14() { if (foo) return bar 
> else { baz(); } 
> [1, 2, 3].map(foo) }
> ok 7601 no-else-return invalid function foo15() { if (foo) return bar; else { baz() } qaz() }
> ok 7602 no-else-return invalid function foo16() { if (foo) return bar 
> else { baz() } qaz() }
> ok 7603 no-else-return invalid function foo17() { if (foo) return bar 
> else { baz() } 
> qaz() }
> ok 7604 no-else-return invalid function foo18() { if (foo) return function() {} 
> else [1, 2, 3].map(bar) }
> ok 7605 no-else-return invalid function foo19() { if (true) { return x; } else if (false) { return y; } }
> ok 7606 no-else-return invalid function foo20() {if (x) { return true; } else if (y) { notAReturn() } else { notAReturn(); } }
> ok 7607 no-else-return invalid function foo21() { var x = true; if (x) { return x; } else if (x === false) { return false; } }
> ok 7608 no-empty-character-class valid var foo = /^abc[a-zA-Z]/;
> ok 7609 no-empty-character-class valid var regExp = new RegExp("^abc[]");
> ok 7610 no-empty-character-class valid var foo = /^abc/;
> ok 7611 no-empty-character-class valid var foo = /[\[]/;
> ok 7612 no-empty-character-class valid var foo = /[\]]/;
> ok 7613 no-empty-character-class valid var foo = /[a-zA-Z\[]/;
> ok 7614 no-empty-character-class valid var foo = /[[]/;
> ok 7615 no-empty-character-class valid var foo = /[\[a-z[]]/;
> ok 7616 no-empty-character-class valid var foo = /[\-\[\]\/\{\}\(\)\*\+\?\.\\^\$\|]/g;
> ok 7617 no-empty-character-class valid var foo = /\s*:\s*/gim;
> ok 7618 no-empty-character-class valid var foo = /[\]]/uy;
> ok 7619 no-empty-character-class valid var foo = /[\]]/s;
> ok 7620 no-empty-character-class valid var foo = /\[]/
> ok 7621 no-empty-character-class invalid var foo = /^abc[]/;
> ok 7622 no-empty-character-class invalid var foo = /foo[]bar/;
> ok 7623 no-empty-character-class invalid if (foo.match(/^abc[]/)) {}
> ok 7624 no-empty-character-class invalid if (/^abc[]/.test(foo)) {}
> ok 7625 no-empty-character-class invalid var foo = /[]]/;
> ok 7626 no-empty-character-class invalid var foo = /\[[]/;
> ok 7627 no-empty-character-class invalid var foo = /\[\[\]a-z[]/;
> ok 7628 no-empty-function valid var foo = () => 0;
> ok 7629 no-empty-function valid function foo() { bar(); }
> ok 7630 no-empty-function valid function foo() { /* empty */ }
> ok 7631 no-empty-function valid function foo() {
>     // empty
> }
> ok 7632 no-empty-function valid function foo() {} // allow: functions
> ok 7633 no-empty-function valid var foo = function() { bar(); };
> ok 7634 no-empty-function valid var foo = function() { /* empty */ };
> ok 7635 no-empty-function valid var foo = function() {
>     // empty
> };
> ok 7636 no-empty-function valid var foo = function() {}; // allow: functions
> ok 7637 no-empty-function valid var obj = {foo: function() { bar(); }};
> ok 7638 no-empty-function valid var obj = {foo: function() { /* empty */ }};
> ok 7639 no-empty-function valid var obj = {foo: function() {
>     // empty
> }};
> ok 7640 no-empty-function valid var obj = {foo: function() {}}; // allow: functions
> ok 7641 no-empty-function valid var foo = () => { bar(); };
> ok 7642 no-empty-function valid var foo = () => { /* empty */ };
> ok 7643 no-empty-function valid var foo = () => {
>     // empty
> };
> ok 7644 no-empty-function valid var foo = () => {}; // allow: arrowFunctions
> ok 7645 no-empty-function valid function* foo() { bar(); }
> ok 7646 no-empty-function valid function* foo() { /* empty */ }
> ok 7647 no-empty-function valid function* foo() {
>     // empty
> }
> ok 7648 no-empty-function valid function* foo() {} // allow: generatorFunctions
> ok 7649 no-empty-function valid var foo = function*() { bar(); };
> ok 7650 no-empty-function valid var foo = function*() { /* empty */ };
> ok 7651 no-empty-function valid var foo = function*() {
>     // empty
> };
> ok 7652 no-empty-function valid var foo = function*() {}; // allow: generatorFunctions
> ok 7653 no-empty-function valid var obj = {foo: function*() { bar(); }};
> ok 7654 no-empty-function valid var obj = {foo: function*() { /* empty */ }};
> ok 7655 no-empty-function valid var obj = {foo: function*() {
>     // empty
> }};
> ok 7656 no-empty-function valid var obj = {foo: function*() {}}; // allow: generatorFunctions
> ok 7657 no-empty-function valid var obj = {foo() { bar(); }};
> ok 7658 no-empty-function valid var obj = {foo() { /* empty */ }};
> ok 7659 no-empty-function valid var obj = {foo() {
>     // empty
> }};
> ok 7660 no-empty-function valid var obj = {foo() {}}; // allow: methods
> ok 7661 no-empty-function valid class A {foo() { bar(); }}
> ok 7662 no-empty-function valid class A {foo() { /* empty */ }}
> ok 7663 no-empty-function valid class A {foo() {
>     // empty
> }}
> ok 7664 no-empty-function valid class A {foo() {}} // allow: methods
> ok 7665 no-empty-function valid class A {static foo() { bar(); }}
> ok 7666 no-empty-function valid class A {static foo() { /* empty */ }}
> ok 7667 no-empty-function valid class A {static foo() {
>     // empty
> }}
> ok 7668 no-empty-function valid class A {static foo() {}} // allow: methods
> ok 7669 no-empty-function valid var A = class {foo() { bar(); }};
> ok 7670 no-empty-function valid var A = class {foo() { /* empty */ }};
> ok 7671 no-empty-function valid var A = class {foo() {
>     // empty
> }};
> ok 7672 no-empty-function valid var A = class {foo() {}}; // allow: methods
> ok 7673 no-empty-function valid var A = class {static foo() { bar(); }};
> ok 7674 no-empty-function valid var A = class {static foo() { /* empty */ }};
> ok 7675 no-empty-function valid var A = class {static foo() {
>     // empty
> }};
> ok 7676 no-empty-function valid var A = class {static foo() {}}; // allow: methods
> ok 7677 no-empty-function valid var obj = {*foo() { bar(); }};
> ok 7678 no-empty-function valid var obj = {*foo() { /* empty */ }};
> ok 7679 no-empty-function valid var obj = {*foo() {
>     // empty
> }};
> ok 7680 no-empty-function valid var obj = {*foo() {}}; // allow: generatorMethods
> ok 7681 no-empty-function valid class A {*foo() { bar(); }}
> ok 7682 no-empty-function valid class A {*foo() { /* empty */ }}
> ok 7683 no-empty-function valid class A {*foo() {
>     // empty
> }}
> ok 7684 no-empty-function valid class A {*foo() {}} // allow: generatorMethods
> ok 7685 no-empty-function valid class A {static *foo() { bar(); }}
> ok 7686 no-empty-function valid class A {static *foo() { /* empty */ }}
> ok 7687 no-empty-function valid class A {static *foo() {
>     // empty
> }}
> ok 7688 no-empty-function valid class A {static *foo() {}} // allow: generatorMethods
> ok 7689 no-empty-function valid var A = class {*foo() { bar(); }};
> ok 7690 no-empty-function valid var A = class {*foo() { /* empty */ }};
> ok 7691 no-empty-function valid var A = class {*foo() {
>     // empty
> }};
> ok 7692 no-empty-function valid var A = class {*foo() {}}; // allow: generatorMethods
> ok 7693 no-empty-function valid var A = class {static *foo() { bar(); }};
> ok 7694 no-empty-function valid var A = class {static *foo() { /* empty */ }};
> ok 7695 no-empty-function valid var A = class {static *foo() {
>     // empty
> }};
> ok 7696 no-empty-function valid var A = class {static *foo() {}}; // allow: generatorMethods
> ok 7697 no-empty-function valid var obj = {get foo() { bar(); }};
> ok 7698 no-empty-function valid var obj = {get foo() { /* empty */ }};
> ok 7699 no-empty-function valid var obj = {get foo() {
>     // empty
> }};
> ok 7700 no-empty-function valid var obj = {get foo() {}}; // allow: getters
> ok 7701 no-empty-function valid class A {get foo() { bar(); }}
> ok 7702 no-empty-function valid class A {get foo() { /* empty */ }}
> ok 7703 no-empty-function valid class A {get foo() {
>     // empty
> }}
> ok 7704 no-empty-function valid class A {get foo() {}} // allow: getters
> ok 7705 no-empty-function valid class A {static get foo() { bar(); }}
> ok 7706 no-empty-function valid class A {static get foo() { /* empty */ }}
> ok 7707 no-empty-function valid class A {static get foo() {
>     // empty
> }}
> ok 7708 no-empty-function valid class A {static get foo() {}} // allow: getters
> ok 7709 no-empty-function valid var A = class {get foo() { bar(); }};
> ok 7710 no-empty-function valid var A = class {get foo() { /* empty */ }};
> ok 7711 no-empty-function valid var A = class {get foo() {
>     // empty
> }};
> ok 7712 no-empty-function valid var A = class {get foo() {}}; // allow: getters
> ok 7713 no-empty-function valid var A = class {static get foo() { bar(); }};
> ok 7714 no-empty-function valid var A = class {static get foo() { /* empty */ }};
> ok 7715 no-empty-function valid var A = class {static get foo() {
>     // empty
> }};
> ok 7716 no-empty-function valid var A = class {static get foo() {}}; // allow: getters
> ok 7717 no-empty-function valid var obj = {set foo(value) { bar(); }};
> ok 7718 no-empty-function valid var obj = {set foo(value) { /* empty */ }};
> ok 7719 no-empty-function valid var obj = {set foo(value) {
>     // empty
> }};
> ok 7720 no-empty-function valid var obj = {set foo(value) {}}; // allow: setters
> ok 7721 no-empty-function valid class A {set foo(value) { bar(); }}
> ok 7722 no-empty-function valid class A {set foo(value) { /* empty */ }}
> ok 7723 no-empty-function valid class A {set foo(value) {
>     // empty
> }}
> ok 7724 no-empty-function valid class A {set foo(value) {}} // allow: setters
> ok 7725 no-empty-function valid class A {static set foo(value) { bar(); }}
> ok 7726 no-empty-function valid class A {static set foo(value) { /* empty */ }}
> ok 7727 no-empty-function valid class A {static set foo(value) {
>     // empty
> }}
> ok 7728 no-empty-function valid class A {static set foo(value) {}} // allow: setters
> ok 7729 no-empty-function valid var A = class {set foo(value) { bar(); }};
> ok 7730 no-empty-function valid var A = class {set foo(value) { /* empty */ }};
> ok 7731 no-empty-function valid var A = class {set foo(value) {
>     // empty
> }};
> ok 7732 no-empty-function valid var A = class {set foo(value) {}}; // allow: setters
> ok 7733 no-empty-function valid var A = class {static set foo(value) { bar(); }};
> ok 7734 no-empty-function valid var A = class {static set foo(value) { /* empty */ }};
> ok 7735 no-empty-function valid var A = class {static set foo(value) {
>     // empty
> }};
> ok 7736 no-empty-function valid var A = class {static set foo(value) {}}; // allow: setters
> ok 7737 no-empty-function valid class A {constructor() { bar(); }}
> ok 7738 no-empty-function valid class A {constructor() { /* empty */ }}
> ok 7739 no-empty-function valid class A {constructor() {
>     // empty
> }}
> ok 7740 no-empty-function valid class A {constructor() {}} // allow: constructors
> ok 7741 no-empty-function valid var A = class {constructor() { bar(); }};
> ok 7742 no-empty-function valid var A = class {constructor() { /* empty */ }};
> ok 7743 no-empty-function valid var A = class {constructor() {
>     // empty
> }};
> ok 7744 no-empty-function valid var A = class {constructor() {}}; // allow: constructors
> ok 7745 no-empty-function invalid function foo() {}
> ok 7746 no-empty-function invalid function foo() {} // allow: arrowFunctions
> ok 7747 no-empty-function invalid function foo() {} // allow: generatorFunctions
> ok 7748 no-empty-function invalid function foo() {} // allow: methods
> ok 7749 no-empty-function invalid function foo() {} // allow: generatorMethods
> ok 7750 no-empty-function invalid function foo() {} // allow: getters
> ok 7751 no-empty-function invalid function foo() {} // allow: setters
> ok 7752 no-empty-function invalid function foo() {} // allow: constructors
> ok 7753 no-empty-function invalid var foo = function() {};
> ok 7754 no-empty-function invalid var foo = function() {}; // allow: arrowFunctions
> ok 7755 no-empty-function invalid var foo = function() {}; // allow: generatorFunctions
> ok 7756 no-empty-function invalid var foo = function() {}; // allow: methods
> ok 7757 no-empty-function invalid var foo = function() {}; // allow: generatorMethods
> ok 7758 no-empty-function invalid var foo = function() {}; // allow: getters
> ok 7759 no-empty-function invalid var foo = function() {}; // allow: setters
> ok 7760 no-empty-function invalid var foo = function() {}; // allow: constructors
> ok 7761 no-empty-function invalid var obj = {foo: function() {}};
> ok 7762 no-empty-function invalid var obj = {foo: function() {}}; // allow: arrowFunctions
> ok 7763 no-empty-function invalid var obj = {foo: function() {}}; // allow: generatorFunctions
> ok 7764 no-empty-function invalid var obj = {foo: function() {}}; // allow: methods
> ok 7765 no-empty-function invalid var obj = {foo: function() {}}; // allow: generatorMethods
> ok 7766 no-empty-function invalid var obj = {foo: function() {}}; // allow: getters
> ok 7767 no-empty-function invalid var obj = {foo: function() {}}; // allow: setters
> ok 7768 no-empty-function invalid var obj = {foo: function() {}}; // allow: constructors
> ok 7769 no-empty-function invalid var foo = () => {};
> ok 7770 no-empty-function invalid var foo = () => {}; // allow: functions
> ok 7771 no-empty-function invalid var foo = () => {}; // allow: generatorFunctions
> ok 7772 no-empty-function invalid var foo = () => {}; // allow: methods
> ok 7773 no-empty-function invalid var foo = () => {}; // allow: generatorMethods
> ok 7774 no-empty-function invalid var foo = () => {}; // allow: getters
> ok 7775 no-empty-function invalid var foo = () => {}; // allow: setters
> ok 7776 no-empty-function invalid var foo = () => {}; // allow: constructors
> ok 7777 no-empty-function invalid function* foo() {}
> ok 7778 no-empty-function invalid function* foo() {} // allow: functions
> ok 7779 no-empty-function invalid function* foo() {} // allow: arrowFunctions
> ok 7780 no-empty-function invalid function* foo() {} // allow: methods
> ok 7781 no-empty-function invalid function* foo() {} // allow: generatorMethods
> ok 7782 no-empty-function invalid function* foo() {} // allow: getters
> ok 7783 no-empty-function invalid function* foo() {} // allow: setters
> ok 7784 no-empty-function invalid function* foo() {} // allow: constructors
> ok 7785 no-empty-function invalid var foo = function*() {};
> ok 7786 no-empty-function invalid var foo = function*() {}; // allow: functions
> ok 7787 no-empty-function invalid var foo = function*() {}; // allow: arrowFunctions
> ok 7788 no-empty-function invalid var foo = function*() {}; // allow: methods
> ok 7789 no-empty-function invalid var foo = function*() {}; // allow: generatorMethods
> ok 7790 no-empty-function invalid var foo = function*() {}; // allow: getters
> ok 7791 no-empty-function invalid var foo = function*() {}; // allow: setters
> ok 7792 no-empty-function invalid var foo = function*() {}; // allow: constructors
> ok 7793 no-empty-function invalid var obj = {foo: function*() {}};
> ok 7794 no-empty-function invalid var obj = {foo: function*() {}}; // allow: functions
> ok 7795 no-empty-function invalid var obj = {foo: function*() {}}; // allow: arrowFunctions
> ok 7796 no-empty-function invalid var obj = {foo: function*() {}}; // allow: methods
> ok 7797 no-empty-function invalid var obj = {foo: function*() {}}; // allow: generatorMethods
> ok 7798 no-empty-function invalid var obj = {foo: function*() {}}; // allow: getters
> ok 7799 no-empty-function invalid var obj = {foo: function*() {}}; // allow: setters
> ok 7800 no-empty-function invalid var obj = {foo: function*() {}}; // allow: constructors
> ok 7801 no-empty-function invalid var obj = {foo() {}};
> ok 7802 no-empty-function invalid var obj = {foo() {}}; // allow: functions
> ok 7803 no-empty-function invalid var obj = {foo() {}}; // allow: arrowFunctions
> ok 7804 no-empty-function invalid var obj = {foo() {}}; // allow: generatorFunctions
> ok 7805 no-empty-function invalid var obj = {foo() {}}; // allow: generatorMethods
> ok 7806 no-empty-function invalid var obj = {foo() {}}; // allow: getters
> ok 7807 no-empty-function invalid var obj = {foo() {}}; // allow: setters
> ok 7808 no-empty-function invalid var obj = {foo() {}}; // allow: constructors
> ok 7809 no-empty-function invalid class A {foo() {}}
> ok 7810 no-empty-function invalid class A {foo() {}} // allow: functions
> ok 7811 no-empty-function invalid class A {foo() {}} // allow: arrowFunctions
> ok 7812 no-empty-function invalid class A {foo() {}} // allow: generatorFunctions
> ok 7813 no-empty-function invalid class A {foo() {}} // allow: generatorMethods
> ok 7814 no-empty-function invalid class A {foo() {}} // allow: getters
> ok 7815 no-empty-function invalid class A {foo() {}} // allow: setters
> ok 7816 no-empty-function invalid class A {foo() {}} // allow: constructors
> ok 7817 no-empty-function invalid class A {static foo() {}}
> ok 7818 no-empty-function invalid class A {static foo() {}} // allow: functions
> ok 7819 no-empty-function invalid class A {static foo() {}} // allow: arrowFunctions
> ok 7820 no-empty-function invalid class A {static foo() {}} // allow: generatorFunctions
> ok 7821 no-empty-function invalid class A {static foo() {}} // allow: generatorMethods
> ok 7822 no-empty-function invalid class A {static foo() {}} // allow: getters
> ok 7823 no-empty-function invalid class A {static foo() {}} // allow: setters
> ok 7824 no-empty-function invalid class A {static foo() {}} // allow: constructors
> ok 7825 no-empty-function invalid var A = class {foo() {}};
> ok 7826 no-empty-function invalid var A = class {foo() {}}; // allow: functions
> ok 7827 no-empty-function invalid var A = class {foo() {}}; // allow: arrowFunctions
> ok 7828 no-empty-function invalid var A = class {foo() {}}; // allow: generatorFunctions
> ok 7829 no-empty-function invalid var A = class {foo() {}}; // allow: generatorMethods
> ok 7830 no-empty-function invalid var A = class {foo() {}}; // allow: getters
> ok 7831 no-empty-function invalid var A = class {foo() {}}; // allow: setters
> ok 7832 no-empty-function invalid var A = class {foo() {}}; // allow: constructors
> ok 7833 no-empty-function invalid var A = class {static foo() {}};
> ok 7834 no-empty-function invalid var A = class {static foo() {}}; // allow: functions
> ok 7835 no-empty-function invalid var A = class {static foo() {}}; // allow: arrowFunctions
> ok 7836 no-empty-function invalid var A = class {static foo() {}}; // allow: generatorFunctions
> ok 7837 no-empty-function invalid var A = class {static foo() {}}; // allow: generatorMethods
> ok 7838 no-empty-function invalid var A = class {static foo() {}}; // allow: getters
> ok 7839 no-empty-function invalid var A = class {static foo() {}}; // allow: setters
> ok 7840 no-empty-function invalid var A = class {static foo() {}}; // allow: constructors
> ok 7841 no-empty-function invalid var obj = {*foo() {}};
> ok 7842 no-empty-function invalid var obj = {*foo() {}}; // allow: functions
> ok 7843 no-empty-function invalid var obj = {*foo() {}}; // allow: arrowFunctions
> ok 7844 no-empty-function invalid var obj = {*foo() {}}; // allow: generatorFunctions
> ok 7845 no-empty-function invalid var obj = {*foo() {}}; // allow: methods
> ok 7846 no-empty-function invalid var obj = {*foo() {}}; // allow: getters
> ok 7847 no-empty-function invalid var obj = {*foo() {}}; // allow: setters
> ok 7848 no-empty-function invalid var obj = {*foo() {}}; // allow: constructors
> ok 7849 no-empty-function invalid class A {*foo() {}}
> ok 7850 no-empty-function invalid class A {*foo() {}} // allow: functions
> ok 7851 no-empty-function invalid class A {*foo() {}} // allow: arrowFunctions
> ok 7852 no-empty-function invalid class A {*foo() {}} // allow: generatorFunctions
> ok 7853 no-empty-function invalid class A {*foo() {}} // allow: methods
> ok 7854 no-empty-function invalid class A {*foo() {}} // allow: getters
> ok 7855 no-empty-function invalid class A {*foo() {}} // allow: setters
> ok 7856 no-empty-function invalid class A {*foo() {}} // allow: constructors
> ok 7857 no-empty-function invalid class A {static *foo() {}}
> ok 7858 no-empty-function invalid class A {static *foo() {}} // allow: functions
> ok 7859 no-empty-function invalid class A {static *foo() {}} // allow: arrowFunctions
> ok 7860 no-empty-function invalid class A {static *foo() {}} // allow: generatorFunctions
> ok 7861 no-empty-function invalid class A {static *foo() {}} // allow: methods
> ok 7862 no-empty-function invalid class A {static *foo() {}} // allow: getters
> ok 7863 no-empty-function invalid class A {static *foo() {}} // allow: setters
> ok 7864 no-empty-function invalid class A {static *foo() {}} // allow: constructors
> ok 7865 no-empty-function invalid var A = class {*foo() {}};
> ok 7866 no-empty-function invalid var A = class {*foo() {}}; // allow: functions
> ok 7867 no-empty-function invalid var A = class {*foo() {}}; // allow: arrowFunctions
> ok 7868 no-empty-function invalid var A = class {*foo() {}}; // allow: generatorFunctions
> ok 7869 no-empty-function invalid var A = class {*foo() {}}; // allow: methods
> ok 7870 no-empty-function invalid var A = class {*foo() {}}; // allow: getters
> ok 7871 no-empty-function invalid var A = class {*foo() {}}; // allow: setters
> ok 7872 no-empty-function invalid var A = class {*foo() {}}; // allow: constructors
> ok 7873 no-empty-function invalid var A = class {static *foo() {}};
> ok 7874 no-empty-function invalid var A = class {static *foo() {}}; // allow: functions
> ok 7875 no-empty-function invalid var A = class {static *foo() {}}; // allow: arrowFunctions
> ok 7876 no-empty-function invalid var A = class {static *foo() {}}; // allow: generatorFunctions
> ok 7877 no-empty-function invalid var A = class {static *foo() {}}; // allow: methods
> ok 7878 no-empty-function invalid var A = class {static *foo() {}}; // allow: getters
> ok 7879 no-empty-function invalid var A = class {static *foo() {}}; // allow: setters
> ok 7880 no-empty-function invalid var A = class {static *foo() {}}; // allow: constructors
> ok 7881 no-empty-function invalid var obj = {get foo() {}};
> ok 7882 no-empty-function invalid var obj = {get foo() {}}; // allow: functions
> ok 7883 no-empty-function invalid var obj = {get foo() {}}; // allow: arrowFunctions
> ok 7884 no-empty-function invalid var obj = {get foo() {}}; // allow: generatorFunctions
> ok 7885 no-empty-function invalid var obj = {get foo() {}}; // allow: methods
> ok 7886 no-empty-function invalid var obj = {get foo() {}}; // allow: generatorMethods
> ok 7887 no-empty-function invalid var obj = {get foo() {}}; // allow: setters
> ok 7888 no-empty-function invalid var obj = {get foo() {}}; // allow: constructors
> ok 7889 no-empty-function invalid class A {get foo() {}}
> ok 7890 no-empty-function invalid class A {get foo() {}} // allow: functions
> ok 7891 no-empty-function invalid class A {get foo() {}} // allow: arrowFunctions
> ok 7892 no-empty-function invalid class A {get foo() {}} // allow: generatorFunctions
> ok 7893 no-empty-function invalid class A {get foo() {}} // allow: methods
> ok 7894 no-empty-function invalid class A {get foo() {}} // allow: generatorMethods
> ok 7895 no-empty-function invalid class A {get foo() {}} // allow: setters
> ok 7896 no-empty-function invalid class A {get foo() {}} // allow: constructors
> ok 7897 no-empty-function invalid class A {static get foo() {}}
> ok 7898 no-empty-function invalid class A {static get foo() {}} // allow: functions
> ok 7899 no-empty-function invalid class A {static get foo() {}} // allow: arrowFunctions
> ok 7900 no-empty-function invalid class A {static get foo() {}} // allow: generatorFunctions
> ok 7901 no-empty-function invalid class A {static get foo() {}} // allow: methods
> ok 7902 no-empty-function invalid class A {static get foo() {}} // allow: generatorMethods
> ok 7903 no-empty-function invalid class A {static get foo() {}} // allow: setters
> ok 7904 no-empty-function invalid class A {static get foo() {}} // allow: constructors
> ok 7905 no-empty-function invalid var A = class {get foo() {}};
> ok 7906 no-empty-function invalid var A = class {get foo() {}}; // allow: functions
> ok 7907 no-empty-function invalid var A = class {get foo() {}}; // allow: arrowFunctions
> ok 7908 no-empty-function invalid var A = class {get foo() {}}; // allow: generatorFunctions
> ok 7909 no-empty-function invalid var A = class {get foo() {}}; // allow: methods
> ok 7910 no-empty-function invalid var A = class {get foo() {}}; // allow: generatorMethods
> ok 7911 no-empty-function invalid var A = class {get foo() {}}; // allow: setters
> ok 7912 no-empty-function invalid var A = class {get foo() {}}; // allow: constructors
> ok 7913 no-empty-function invalid var A = class {static get foo() {}};
> ok 7914 no-empty-function invalid var A = class {static get foo() {}}; // allow: functions
> ok 7915 no-empty-function invalid var A = class {static get foo() {}}; // allow: arrowFunctions
> ok 7916 no-empty-function invalid var A = class {static get foo() {}}; // allow: generatorFunctions
> ok 7917 no-empty-function invalid var A = class {static get foo() {}}; // allow: methods
> ok 7918 no-empty-function invalid var A = class {static get foo() {}}; // allow: generatorMethods
> ok 7919 no-empty-function invalid var A = class {static get foo() {}}; // allow: setters
> ok 7920 no-empty-function invalid var A = class {static get foo() {}}; // allow: constructors
> ok 7921 no-empty-function invalid var obj = {set foo(value) {}};
> ok 7922 no-empty-function invalid var obj = {set foo(value) {}}; // allow: functions
> ok 7923 no-empty-function invalid var obj = {set foo(value) {}}; // allow: arrowFunctions
> ok 7924 no-empty-function invalid var obj = {set foo(value) {}}; // allow: generatorFunctions
> ok 7925 no-empty-function invalid var obj = {set foo(value) {}}; // allow: methods
> ok 7926 no-empty-function invalid var obj = {set foo(value) {}}; // allow: generatorMethods
> ok 7927 no-empty-function invalid var obj = {set foo(value) {}}; // allow: getters
> ok 7928 no-empty-function invalid var obj = {set foo(value) {}}; // allow: constructors
> ok 7929 no-empty-function invalid class A {set foo(value) {}}
> ok 7930 no-empty-function invalid class A {set foo(value) {}} // allow: functions
> ok 7931 no-empty-function invalid class A {set foo(value) {}} // allow: arrowFunctions
> ok 7932 no-empty-function invalid class A {set foo(value) {}} // allow: generatorFunctions
> ok 7933 no-empty-function invalid class A {set foo(value) {}} // allow: methods
> ok 7934 no-empty-function invalid class A {set foo(value) {}} // allow: generatorMethods
> ok 7935 no-empty-function invalid class A {set foo(value) {}} // allow: getters
> ok 7936 no-empty-function invalid class A {set foo(value) {}} // allow: constructors
> ok 7937 no-empty-function invalid class A {static set foo(value) {}}
> ok 7938 no-empty-function invalid class A {static set foo(value) {}} // allow: functions
> ok 7939 no-empty-function invalid class A {static set foo(value) {}} // allow: arrowFunctions
> ok 7940 no-empty-function invalid class A {static set foo(value) {}} // allow: generatorFunctions
> ok 7941 no-empty-function invalid class A {static set foo(value) {}} // allow: methods
> ok 7942 no-empty-function invalid class A {static set foo(value) {}} // allow: generatorMethods
> ok 7943 no-empty-function invalid class A {static set foo(value) {}} // allow: getters
> ok 7944 no-empty-function invalid class A {static set foo(value) {}} // allow: constructors
> ok 7945 no-empty-function invalid var A = class {set foo(value) {}};
> ok 7946 no-empty-function invalid var A = class {set foo(value) {}}; // allow: functions
> ok 7947 no-empty-function invalid var A = class {set foo(value) {}}; // allow: arrowFunctions
> ok 7948 no-empty-function invalid var A = class {set foo(value) {}}; // allow: generatorFunctions
> ok 7949 no-empty-function invalid var A = class {set foo(value) {}}; // allow: methods
> ok 7950 no-empty-function invalid var A = class {set foo(value) {}}; // allow: generatorMethods
> ok 7951 no-empty-function invalid var A = class {set foo(value) {}}; // allow: getters
> ok 7952 no-empty-function invalid var A = class {set foo(value) {}}; // allow: constructors
> ok 7953 no-empty-function invalid var A = class {static set foo(value) {}};
> ok 7954 no-empty-function invalid var A = class {static set foo(value) {}}; // allow: functions
> ok 7955 no-empty-function invalid var A = class {static set foo(value) {}}; // allow: arrowFunctions
> ok 7956 no-empty-function invalid var A = class {static set foo(value) {}}; // allow: generatorFunctions
> ok 7957 no-empty-function invalid var A = class {static set foo(value) {}}; // allow: methods
> ok 7958 no-empty-function invalid var A = class {static set foo(value) {}}; // allow: generatorMethods
> ok 7959 no-empty-function invalid var A = class {static set foo(value) {}}; // allow: getters
> ok 7960 no-empty-function invalid var A = class {static set foo(value) {}}; // allow: constructors
> ok 7961 no-empty-function invalid class A {constructor() {}}
> ok 7962 no-empty-function invalid class A {constructor() {}} // allow: functions
> ok 7963 no-empty-function invalid class A {constructor() {}} // allow: arrowFunctions
> ok 7964 no-empty-function invalid class A {constructor() {}} // allow: generatorFunctions
> ok 7965 no-empty-function invalid class A {constructor() {}} // allow: methods
> ok 7966 no-empty-function invalid class A {constructor() {}} // allow: generatorMethods
> ok 7967 no-empty-function invalid class A {constructor() {}} // allow: getters
> ok 7968 no-empty-function invalid class A {constructor() {}} // allow: setters
> ok 7969 no-empty-function invalid var A = class {constructor() {}};
> ok 7970 no-empty-function invalid var A = class {constructor() {}}; // allow: functions
> ok 7971 no-empty-function invalid var A = class {constructor() {}}; // allow: arrowFunctions
> ok 7972 no-empty-function invalid var A = class {constructor() {}}; // allow: generatorFunctions
> ok 7973 no-empty-function invalid var A = class {constructor() {}}; // allow: methods
> ok 7974 no-empty-function invalid var A = class {constructor() {}}; // allow: generatorMethods
> ok 7975 no-empty-function invalid var A = class {constructor() {}}; // allow: getters
> ok 7976 no-empty-function invalid var A = class {constructor() {}}; // allow: setters
> ok 7977 no-empty-pattern valid var {a = {}} = foo;
> ok 7978 no-empty-pattern valid var {a, b = {}} = foo;
> ok 7979 no-empty-pattern valid var {a = []} = foo;
> ok 7980 no-empty-pattern valid function foo({a = {}}) {}
> ok 7981 no-empty-pattern valid function foo({a = []}) {}
> ok 7982 no-empty-pattern valid var [a] = foo
> ok 7983 no-empty-pattern invalid var {} = foo
> ok 7984 no-empty-pattern invalid var [] = foo
> ok 7985 no-empty-pattern invalid var {a: {}} = foo
> ok 7986 no-empty-pattern invalid var {a, b: {}} = foo
> ok 7987 no-empty-pattern invalid var {a: []} = foo
> ok 7988 no-empty-pattern invalid function foo({}) {}
> ok 7989 no-empty-pattern invalid function foo([]) {}
> ok 7990 no-empty-pattern invalid function foo({a: {}}) {}
> ok 7991 no-empty-pattern invalid function foo({a: []}) {}
> ok 7992 no-empty valid if (foo) { bar() }
> ok 7993 no-empty valid while (foo) { bar() }
> ok 7994 no-empty valid for (;foo;) { bar() }
> ok 7995 no-empty valid try { foo() } catch (ex) { foo() }
> ok 7996 no-empty valid switch(foo) {case 'foo': break;}
> ok 7997 no-empty valid (function() { }())
> ok 7998 no-empty valid var foo = () => {};
> ok 7999 no-empty valid function foo() { }
> ok 8000 no-empty valid if (foo) {/* empty */}
> ok 8001 no-empty valid while (foo) {/* empty */}
> ok 8002 no-empty valid for (;foo;) {/* empty */}
> ok 8003 no-empty valid try { foo() } catch (ex) {/* empty */}
> ok 8004 no-empty valid try { foo() } catch (ex) {// empty
> }
> ok 8005 no-empty valid try { foo() } finally {// empty
> }
> ok 8006 no-empty valid try { foo() } finally {// test
> }
> ok 8007 no-empty valid try { foo() } finally {
>  
>  // hi i am off no use
> }
> ok 8008 no-empty valid try { foo() } catch (ex) {/* test111 */}
> ok 8009 no-empty valid if (foo) { bar() } else { // nothing in me 
> }
> ok 8010 no-empty valid if (foo) { bar() } else { /**/ 
> }
> ok 8011 no-empty valid if (foo) { bar() } else { // 
> }
> ok 8012 no-empty valid try { foo(); } catch (ex) {}
> ok 8013 no-empty valid try { foo(); } catch (ex) {} finally { bar(); }
> ok 8014 no-empty invalid try {} catch (ex) {throw ex}
> ok 8015 no-empty invalid try { foo() } catch (ex) {}
> ok 8016 no-empty invalid try { foo() } catch (ex) {throw ex} finally {}
> ok 8017 no-empty invalid if (foo) {}
> ok 8018 no-empty invalid while (foo) {}
> ok 8019 no-empty invalid for (;foo;) {}
> ok 8020 no-empty invalid switch(foo) {}
> ok 8021 no-empty invalid try {} catch (ex) {}
> ok 8022 no-empty invalid try { foo(); } catch (ex) {} finally {}
> ok 8023 no-empty invalid try {} catch (ex) {} finally {}
> ok 8024 no-empty invalid try { foo(); } catch (ex) {} finally {}
> ok 8025 no-eq-null valid if (x === null) { }
> ok 8026 no-eq-null valid if (null === f()) { }
> ok 8027 no-eq-null invalid if (x == null) { }
> ok 8028 no-eq-null invalid if (x != null) { }
> ok 8029 no-eq-null invalid do {} while (null == x)
> ok 8030 no-eval valid Eval(foo)
> ok 8031 no-eval valid setTimeout('foo')
> ok 8032 no-eval valid setInterval('foo')
> ok 8033 no-eval valid window.setTimeout('foo')
> ok 8034 no-eval valid window.setInterval('foo')
> ok 8035 no-eval valid window.eval('foo')
> ok 8036 no-eval valid window.eval('foo')
> ok 8037 no-eval valid window.noeval('foo')
> ok 8038 no-eval valid function foo() { var eval = 'foo'; window[eval]('foo') }
> ok 8039 no-eval valid global.eval('foo')
> ok 8040 no-eval valid global.eval('foo')
> ok 8041 no-eval valid global.noeval('foo')
> ok 8042 no-eval valid function foo() { var eval = 'foo'; global[eval]('foo') }
> ok 8043 no-eval valid this.noeval('foo');
> ok 8044 no-eval valid function foo() { 'use strict'; this.eval('foo'); }
> ok 8045 no-eval valid function foo() { this.eval('foo'); }
> ok 8046 no-eval valid function foo() { this.eval('foo'); }
> ok 8047 no-eval valid var obj = {foo: function() { this.eval('foo'); }}
> ok 8048 no-eval valid var obj = {}; obj.foo = function() { this.eval('foo'); }
> ok 8049 no-eval valid class A { foo() { this.eval(); } }
> ok 8050 no-eval valid class A { static foo() { this.eval(); } }
> ok 8051 no-eval valid (0, eval)('foo')
> ok 8052 no-eval valid (0, window.eval)('foo')
> ok 8053 no-eval valid (0, window['eval'])('foo')
> ok 8054 no-eval valid var EVAL = eval; EVAL('foo')
> ok 8055 no-eval valid var EVAL = this.eval; EVAL('foo')
> ok 8056 no-eval valid (function(exe){ exe('foo') })(eval);
> ok 8057 no-eval valid window.eval('foo')
> ok 8058 no-eval valid window.window.eval('foo')
> ok 8059 no-eval valid window.window['eval']('foo')
> ok 8060 no-eval valid global.eval('foo')
> ok 8061 no-eval valid global.global.eval('foo')
> ok 8062 no-eval valid this.eval('foo')
> ok 8063 no-eval valid function foo() { this.eval('foo') }
> ok 8064 no-eval invalid eval(foo)
> ok 8065 no-eval invalid eval('foo')
> ok 8066 no-eval invalid function foo(eval) { eval('foo') }
> ok 8067 no-eval invalid eval(foo)
> ok 8068 no-eval invalid eval('foo')
> ok 8069 no-eval invalid function foo(eval) { eval('foo') }
> ok 8070 no-eval invalid (0, eval)('foo')
> ok 8071 no-eval invalid (0, window.eval)('foo')
> ok 8072 no-eval invalid (0, window['eval'])('foo')
> ok 8073 no-eval invalid var EVAL = eval; EVAL('foo')
> ok 8074 no-eval invalid var EVAL = this.eval; EVAL('foo')
> ok 8075 no-eval invalid (function(exe){ exe('foo') })(eval);
> ok 8076 no-eval invalid window.eval('foo')
> ok 8077 no-eval invalid window.window.eval('foo')
> ok 8078 no-eval invalid window.window['eval']('foo')
> ok 8079 no-eval invalid global.eval('foo')
> ok 8080 no-eval invalid global.global.eval('foo')
> ok 8081 no-eval invalid global.global[`eval`]('foo')
> ok 8082 no-eval invalid this.eval('foo')
> ok 8083 no-eval invalid function foo() { this.eval('foo') }
> ok 8084 no-ex-assign valid try { } catch (e) { three = 2 + 1; }
> ok 8085 no-ex-assign valid try { } catch ({e}) { this.something = 2; }
> ok 8086 no-ex-assign valid function foo() { try { } catch (e) { return false; } }
> ok 8087 no-ex-assign invalid try { } catch (e) { e = 10; }
> ok 8088 no-ex-assign invalid try { } catch (ex) { ex = 10; }
> ok 8089 no-ex-assign invalid try { } catch (ex) { [ex] = []; }
> ok 8090 no-ex-assign invalid try { } catch (ex) { ({x: ex = 0} = {}); }
> ok 8091 no-ex-assign invalid try { } catch ({message}) { message = 10; }
> ok 8092 no-extend-native valid x.prototype.p = 0
> ok 8093 no-extend-native valid x.prototype['p'] = 0
> ok 8094 no-extend-native valid Object.p = 0
> ok 8095 no-extend-native valid Object.toString.bind = 0
> ok 8096 no-extend-native valid Object['toString'].bind = 0
> ok 8097 no-extend-native valid Object.defineProperty(x, 'p', {value: 0})
> ok 8098 no-extend-native valid Object.defineProperties(x, {p: {value: 0}})
> ok 8099 no-extend-native valid global.Object.prototype.toString = 0
> ok 8100 no-extend-native valid this.Object.prototype.toString = 0
> ok 8101 no-extend-native valid with(Object) { prototype.p = 0; }
> ok 8102 no-extend-native valid o = Object; o.prototype.toString = 0
> ok 8103 no-extend-native valid eval('Object.prototype.toString = 0')
> ok 8104 no-extend-native valid parseFloat.prototype.x = 1
> ok 8105 no-extend-native valid Object.prototype.g = 0
> ok 8106 no-extend-native valid Object.defineProperty()
> ok 8107 no-extend-native valid Object.defineProperties()
> ok 8108 no-extend-native valid function foo() { var Object = function() {}; Object.prototype.p = 0 }
> ok 8109 no-extend-native valid { let Object = function() {}; Object.prototype.p = 0 }
> ok 8110 no-extend-native invalid Object.prototype.p = 0
> ok 8111 no-extend-native invalid Function.prototype['p'] = 0
> ok 8112 no-extend-native invalid String['prototype'].p = 0
> ok 8113 no-extend-native invalid Number['prototype']['p'] = 0
> ok 8114 no-extend-native invalid Object.defineProperty(Array.prototype, 'p', {value: 0})
> ok 8115 no-extend-native invalid Object.defineProperties(Array.prototype, {p: {value: 0}})
> ok 8116 no-extend-native invalid Object.defineProperties(Array.prototype, {p: {value: 0}, q: {value: 0}})
> ok 8117 no-extend-native invalid Number['prototype']['p'] = 0
> ok 8118 no-extend-native invalid Object.prototype.p = 0; Object.prototype.q = 0
> ok 8119 no-extend-native invalid function foo() { Object.prototype.p = 0 }
> ok 8120 no-extra-bind valid var a = function(b) { return b }.bind(c, d)
> ok 8121 no-extra-bind valid var a = function() { this.b }()
> ok 8122 no-extra-bind valid var a = function() { this.b }.foo()
> ok 8123 no-extra-bind valid var a = f.bind(a)
> ok 8124 no-extra-bind valid var a = function() { return this.b }.bind(c)
> ok 8125 no-extra-bind valid var a = (() => { return b }).bind(c, d)
> ok 8126 no-extra-bind valid (function() { (function() { this.b }.bind(this)) }.bind(c))
> ok 8127 no-extra-bind valid var a = function() { return 1; }[bind](b)
> ok 8128 no-extra-bind valid var a = function() { return 1; }[`bi${n}d`](b)
> ok 8129 no-extra-bind valid var a = function() { return () => this; }.bind(b)
> ok 8130 no-extra-bind invalid var a = function() { return 1; }.bind(b)
> ok 8131 no-extra-bind invalid var a = function() { return 1; }['bind'](b)
> ok 8132 no-extra-bind invalid var a = function() { return 1; }[`bind`](b)
> ok 8133 no-extra-bind invalid var a = (() => { return 1; }).bind(b)
> ok 8134 no-extra-bind invalid var a = (() => { return this; }).bind(b)
> ok 8135 no-extra-bind invalid var a = function() { (function(){ this.c }) }.bind(b)
> ok 8136 no-extra-bind invalid var a = function() { function c(){ this.d } }.bind(b)
> ok 8137 no-extra-bind invalid var a = function() { return 1; }.bind(this)
> ok 8138 no-extra-bind invalid var a = function() { (function(){ (function(){ this.d }.bind(c)) }) }.bind(b)
> ok 8139 no-extra-bind invalid var a = function() {}.bind(b++)
> ok 8140 no-extra-bind invalid var a = function() {}.bind(b())
> ok 8141 no-extra-bind invalid var a = function() {}.bind(b.c)
> ok 8142 no-extra-boolean-cast valid var foo = !!bar;
> ok 8143 no-extra-boolean-cast valid function foo() { return !!bar; }
> ok 8144 no-extra-boolean-cast valid var foo = bar() ? !!baz : !!bat
> ok 8145 no-extra-boolean-cast valid for(!!foo;;) {}
> ok 8146 no-extra-boolean-cast valid for(;; !!foo) {}
> ok 8147 no-extra-boolean-cast valid var foo = Boolean(bar);
> ok 8148 no-extra-boolean-cast valid function foo() { return Boolean(bar); }
> ok 8149 no-extra-boolean-cast valid var foo = bar() ? Boolean(baz) : Boolean(bat)
> ok 8150 no-extra-boolean-cast valid for(Boolean(foo);;) {}
> ok 8151 no-extra-boolean-cast valid for(;; Boolean(foo)) {}
> ok 8152 no-extra-boolean-cast valid if (new Boolean(foo)) {}
> ok 8153 no-extra-boolean-cast invalid if (!!foo) {}
> ok 8154 no-extra-boolean-cast invalid do {} while (!!foo)
> ok 8155 no-extra-boolean-cast invalid while (!!foo) {}
> ok 8156 no-extra-boolean-cast invalid !!foo ? bar : baz
> ok 8157 no-extra-boolean-cast invalid for (; !!foo;) {}
> ok 8158 no-extra-boolean-cast invalid !!!foo
> ok 8159 no-extra-boolean-cast invalid Boolean(!!foo)
> ok 8160 no-extra-boolean-cast invalid new Boolean(!!foo)
> ok 8161 no-extra-boolean-cast invalid if (Boolean(foo)) {}
> ok 8162 no-extra-boolean-cast invalid do {} while (Boolean(foo))
> ok 8163 no-extra-boolean-cast invalid while (Boolean(foo)) {}
> ok 8164 no-extra-boolean-cast invalid Boolean(foo) ? bar : baz
> ok 8165 no-extra-boolean-cast invalid for (; Boolean(foo);) {}
> ok 8166 no-extra-boolean-cast invalid !Boolean(foo)
> ok 8167 no-extra-boolean-cast invalid !Boolean(foo && bar)
> ok 8168 no-extra-boolean-cast invalid !Boolean(foo + bar)
> ok 8169 no-extra-boolean-cast invalid !Boolean(+foo)
> ok 8170 no-extra-boolean-cast invalid !Boolean(foo())
> ok 8171 no-extra-boolean-cast invalid !Boolean(foo = bar)
> ok 8172 no-extra-boolean-cast invalid !Boolean(...foo);
> ok 8173 no-extra-boolean-cast invalid !Boolean(foo, bar());
> ok 8174 no-extra-boolean-cast invalid !Boolean((foo, bar()));
> ok 8175 no-extra-boolean-cast invalid !Boolean();
> ok 8176 no-extra-boolean-cast invalid !(Boolean());
> ok 8177 no-extra-label valid A: break A;
> ok 8178 no-extra-label valid A: { if (a) break A; }
> ok 8179 no-extra-label valid A: { while (b) { break A; } }
> ok 8180 no-extra-label valid A: { switch (b) { case 0: break A; } }
> ok 8181 no-extra-label valid A: while (a) { while (b) { break; } break; }
> ok 8182 no-extra-label valid A: while (a) { while (b) { break A; } }
> ok 8183 no-extra-label valid A: while (a) { while (b) { continue A; } }
> ok 8184 no-extra-label valid A: while (a) { switch (b) { case 0: break A; } }
> ok 8185 no-extra-label valid A: while (a) { switch (b) { case 0: continue A; } }
> ok 8186 no-extra-label valid A: switch (a) { case 0: while (b) { break A; } }
> ok 8187 no-extra-label valid A: switch (a) { case 0: switch (b) { case 0: break A; } }
> ok 8188 no-extra-label valid A: for (;;) { while (b) { break A; } }
> ok 8189 no-extra-label valid A: do { switch (b) { case 0: break A; break; } } while (a);
> ok 8190 no-extra-label valid A: for (a in obj) { while (b) { break A; } }
> ok 8191 no-extra-label valid A: for (a of ary) { switch (b) { case 0: break A; } }
> ok 8192 no-extra-label invalid A: while (a) break A;
> ok 8193 no-extra-label invalid A: while (a) { B: { continue A; } }
> ok 8194 no-extra-label invalid X: while (x) { A: while (a) { B: { break A; break B; continue X; } } }
> ok 8195 no-extra-label invalid A: do { break A; } while (a);
> ok 8196 no-extra-label invalid A: for (;;) { break A; }
> ok 8197 no-extra-label invalid A: for (a in obj) { break A; }
> ok 8198 no-extra-label invalid A: for (a of ary) { break A; }
> ok 8199 no-extra-label invalid A: switch (a) { case 0: break A; }
> ok 8200 no-extra-label invalid X: while (x) { A: switch (a) { case 0: break A; } }
> ok 8201 no-extra-label invalid X: switch (a) { case 0: A: while (b) break A; }
> ok 8202 no-extra-label invalid                 A: while (true) {
>                     break A;
>                     while (true) {
>                         break A;
>                     }
>                 }
>             
> ok 8203 no-extra-parens valid foo
> ok 8204 no-extra-parens valid a = b, c = d
> ok 8205 no-extra-parens valid a = b ? c : d
> ok 8206 no-extra-parens valid a = (b, c)
> ok 8207 no-extra-parens valid a || b ? c = d : e = f
> ok 8208 no-extra-parens valid (a = b) ? (c, d) : (e, f)
> ok 8209 no-extra-parens valid a && b || c && d
> ok 8210 no-extra-parens valid (a ? b : c) || (d ? e : f)
> ok 8211 no-extra-parens valid a | b && c | d
> ok 8212 no-extra-parens valid (a || b) && (c || d)
> ok 8213 no-extra-parens valid a ^ b | c ^ d
> ok 8214 no-extra-parens valid (a && b) | (c && d)
> ok 8215 no-extra-parens valid a & b ^ c & d
> ok 8216 no-extra-parens valid (a | b) ^ (c | d)
> ok 8217 no-extra-parens valid a == b & c != d
> ok 8218 no-extra-parens valid (a ^ b) & (c ^ d)
> ok 8219 no-extra-parens valid a < b === c in d
> ok 8220 no-extra-parens valid (a & b) !== (c & d)
> ok 8221 no-extra-parens valid a << b >= c >>> d
> ok 8222 no-extra-parens valid (a == b) instanceof (c != d)
> ok 8223 no-extra-parens valid a + b << c - d
> ok 8224 no-extra-parens valid (a <= b) >> (c > d)
> ok 8225 no-extra-parens valid a * b + c / d
> ok 8226 no-extra-parens valid (a << b) - (c >> d)
> ok 8227 no-extra-parens valid +a % !b
> ok 8228 no-extra-parens valid (a + b) * (c - d)
> ok 8229 no-extra-parens valid -void+delete~typeof!a
> ok 8230 no-extra-parens valid !(a * b); typeof (a / b); +(a % b); delete (a * b); ~(a / b); void (a % b); -(a * b)
> ok 8231 no-extra-parens valid a(b = c, (d, e))
> ok 8232 no-extra-parens valid (++a)(b); (c++)(d);
> ok 8233 no-extra-parens valid new (A())
> ok 8234 no-extra-parens valid new (foo.Baz().foo)
> ok 8235 no-extra-parens valid new (foo.baz.bar().foo.baz)
> ok 8236 no-extra-parens valid new ({}.baz.bar.foo().baz)
> ok 8237 no-extra-parens valid new (doSomething().baz.bar().foo)
> ok 8238 no-extra-parens valid new ([][0].baz.foo().bar.foo)
> ok 8239 no-extra-parens valid new (foo
> .baz
> .bar()
> .foo.baz)
> ok 8240 no-extra-parens valid new A()()
> ok 8241 no-extra-parens valid (new A)()
> ok 8242 no-extra-parens valid (new (Foo || Bar))()
> ok 8243 no-extra-parens valid (2 + 3) ** 4
> ok 8244 no-extra-parens valid 2 ** (2 + 3)
> ok 8245 no-extra-parens valid a, b, c
> ok 8246 no-extra-parens valid a = b = c
> ok 8247 no-extra-parens valid a ? b ? c : d : e
> ok 8248 no-extra-parens valid a ? b : c ? d : e
> ok 8249 no-extra-parens valid a || b || c
> ok 8250 no-extra-parens valid a || (b || c)
> ok 8251 no-extra-parens valid a && b && c
> ok 8252 no-extra-parens valid a && (b && c)
> ok 8253 no-extra-parens valid a | b | c
> ok 8254 no-extra-parens valid a | (b | c)
> ok 8255 no-extra-parens valid a ^ b ^ c
> ok 8256 no-extra-parens valid a ^ (b ^ c)
> ok 8257 no-extra-parens valid a & b & c
> ok 8258 no-extra-parens valid a & (b & c)
> ok 8259 no-extra-parens valid a == b == c
> ok 8260 no-extra-parens valid a == (b == c)
> ok 8261 no-extra-parens valid a < b < c
> ok 8262 no-extra-parens valid a < (b < c)
> ok 8263 no-extra-parens valid a << b << c
> ok 8264 no-extra-parens valid a << (b << c)
> ok 8265 no-extra-parens valid a + b + c
> ok 8266 no-extra-parens valid a + (b + c)
> ok 8267 no-extra-parens valid a * b * c
> ok 8268 no-extra-parens valid a * (b * c)
> ok 8269 no-extra-parens valid !!a; typeof +b; void -c; ~delete d;
> ok 8270 no-extra-parens valid a(b)
> ok 8271 no-extra-parens valid a(b)(c)
> ok 8272 no-extra-parens valid a((b, c))
> ok 8273 no-extra-parens valid new new A
> ok 8274 no-extra-parens valid 2 ** 3 ** 4
> ok 8275 no-extra-parens valid (2 ** 3) ** 4
> ok 8276 no-extra-parens valid if(a);
> ok 8277 no-extra-parens valid with(a){}
> ok 8278 no-extra-parens valid switch(a){ case 0: break; }
> ok 8279 no-extra-parens valid function a(){ return b; }
> ok 8280 no-extra-parens valid var a = () => { return b; }
> ok 8281 no-extra-parens valid throw a;
> ok 8282 no-extra-parens valid while(a);
> ok 8283 no-extra-parens valid do; while(a);
> ok 8284 no-extra-parens valid for(;;);
> ok 8285 no-extra-parens valid for(a in b);
> ok 8286 no-extra-parens valid for(a in b, c);
> ok 8287 no-extra-parens valid for(a of b);
> ok 8288 no-extra-parens valid for (a of (b, c));
> ok 8289 no-extra-parens valid var a = (b, c);
> ok 8290 no-extra-parens valid []
> ok 8291 no-extra-parens valid [a, b]
> ok 8292 no-extra-parens valid !{a: 0, b: 1}
> ok 8293 no-extra-parens valid ({});
> ok 8294 no-extra-parens valid (function(){});
> ok 8295 no-extra-parens valid (let[a] = b);
> ok 8296 no-extra-parens valid (function*(){});
> ok 8297 no-extra-parens valid (class{});
> ok 8298 no-extra-parens valid (0).a
> ok 8299 no-extra-parens valid (function(){ }())
> ok 8300 no-extra-parens valid ({a: function(){}}.a());
> ok 8301 no-extra-parens valid ({a:0}.a ? b : c)
> ok 8302 no-extra-parens valid var isA = (/^a$/).test('a');
> ok 8303 no-extra-parens valid var regex = (/^a$/);
> ok 8304 no-extra-parens valid function a(){ return (/^a$/); }
> ok 8305 no-extra-parens valid function a(){ return (/^a$/).test('a'); }
> ok 8306 no-extra-parens valid var foo = (function() { return bar(); }())
> ok 8307 no-extra-parens valid var o = { foo: (function() { return bar(); }()) };
> ok 8308 no-extra-parens valid o.foo = (function(){ return bar(); }());
> ok 8309 no-extra-parens valid (function(){ return bar(); }()), (function(){ return bar(); }())
> ok 8310 no-extra-parens valid var foo = (function() { return bar(); })()
> ok 8311 no-extra-parens valid var o = { foo: (function() { return bar(); })() };
> ok 8312 no-extra-parens valid o.foo = (function(){ return bar(); })();
> ok 8313 no-extra-parens valid (function(){ return bar(); })(), (function(){ return bar(); })()
> ok 8314 no-extra-parens valid function foo() { return (function(){}()); }
> ok 8315 no-extra-parens valid var foo = (function*() { if ((yield foo()) + 1) { return; } }())
> ok 8316 no-extra-parens valid (() => 0)()
> ok 8317 no-extra-parens valid (_ => 0)()
> ok 8318 no-extra-parens valid _ => 0, _ => 1
> ok 8319 no-extra-parens valid a = () => b = 0
> ok 8320 no-extra-parens valid 0 ? _ => 0 : _ => 0
> ok 8321 no-extra-parens valid (_ => 0) || (_ => 0)
> ok 8322 no-extra-parens valid x => ({foo: 1})
> ok 8323 no-extra-parens valid 1 + 2 ** 3
> ok 8324 no-extra-parens valid 1 - 2 ** 3
> ok 8325 no-extra-parens valid 2 ** -3
> ok 8326 no-extra-parens valid (-2) ** 3
> ok 8327 no-extra-parens valid (+2) ** 3
> ok 8328 no-extra-parens valid + (2 ** 3)
> ok 8329 no-extra-parens valid a => ({b: c}[d])
> ok 8330 no-extra-parens valid a => ({b: c}.d())
> ok 8331 no-extra-parens valid a => ({b: c}.d.e)
> ok 8332 no-extra-parens valid (0)
> ok 8333 no-extra-parens valid a + (b * c)
> ok 8334 no-extra-parens valid (a)(b)
> ok 8335 no-extra-parens valid a, (b = c)
> ok 8336 no-extra-parens valid for(a in (0));
> ok 8337 no-extra-parens valid var a = (b = c)
> ok 8338 no-extra-parens valid _ => (a = 0)
> ok 8339 no-extra-parens valid while ((foo = bar())) {}
> ok 8340 no-extra-parens valid if ((foo = bar())) {}
> ok 8341 no-extra-parens valid do; while ((foo = bar()))
> ok 8342 no-extra-parens valid for (;(a = b););
> ok 8343 no-extra-parens valid a + (b * c)
> ok 8344 no-extra-parens valid (a * b) + c
> ok 8345 no-extra-parens valid (a * b) / c
> ok 8346 no-extra-parens valid a || (b && c)
> ok 8347 no-extra-parens valid function a(b) { return b || c; }
> ok 8348 no-extra-parens valid function a(b) { return; }
> ok 8349 no-extra-parens valid function a(b) { return (b = 1); }
> ok 8350 no-extra-parens valid function a(b) { return (b = c) || (b = d); }
> ok 8351 no-extra-parens valid function a(b) { return c ? (d = b) : (e = b); }
> ok 8352 no-extra-parens valid b => b || c;
> ok 8353 no-extra-parens valid b => (b = 1);
> ok 8354 no-extra-parens valid b => (b = c) || (b = d);
> ok 8355 no-extra-parens valid b => c ? (d = b) : (e = b);
> ok 8356 no-extra-parens valid b => { return b || c };
> ok 8357 no-extra-parens valid b => { return (b = 1) };
> ok 8358 no-extra-parens valid b => { return (b = c) || (b = d) };
> ok 8359 no-extra-parens valid b => { return c ? (d = b) : (e = b) };
> ok 8360 no-extra-parens valid (function(){}).foo(), 1, 2;
> ok 8361 no-extra-parens valid (function(){}).foo++;
> ok 8362 no-extra-parens valid (function(){}).foo() || bar;
> ok 8363 no-extra-parens valid (function(){}).foo() + 1;
> ok 8364 no-extra-parens valid (function(){}).foo() ? bar : baz;
> ok 8365 no-extra-parens valid (function(){}).foo.bar();
> ok 8366 no-extra-parens valid (function(){}.foo());
> ok 8367 no-extra-parens valid (function(){}.foo.bar);
> ok 8368 no-extra-parens valid (class{}).foo(), 1, 2;
> ok 8369 no-extra-parens valid (class{}).foo++;
> ok 8370 no-extra-parens valid (class{}).foo() || bar;
> ok 8371 no-extra-parens valid (class{}).foo() + 1;
> ok 8372 no-extra-parens valid (class{}).foo() ? bar : baz;
> ok 8373 no-extra-parens valid (class{}).foo.bar();
> ok 8374 no-extra-parens valid (class{}.foo());
> ok 8375 no-extra-parens valid (class{}.foo.bar);
> ok 8376 no-extra-parens valid function *a() { yield b; }
> ok 8377 no-extra-parens valid function *a() { yield yield; }
> ok 8378 no-extra-parens valid function *a() { yield b, c; }
> ok 8379 no-extra-parens valid function *a() { yield (b, c); }
> ok 8380 no-extra-parens valid function *a() { yield b + c; }
> ok 8381 no-extra-parens valid function *a() { (yield b) + c; }
> ok 8382 no-extra-parens valid function a() {
>     return (
>         b
>     );
> }
> ok 8383 no-extra-parens valid function a() {
>     return (
>         <JSX />
>     );
> }
> ok 8384 no-extra-parens valid function a() {
>     return (
>         <></>
>     );
> }
> ok 8385 no-extra-parens valid throw (
>     a
> );
> ok 8386 no-extra-parens valid function *a() {
>     yield (
>         b
>     );
> }
> ok 8387 no-extra-parens valid async function a() { await (a + b) }
> ok 8388 no-extra-parens valid async function a() { await (a + await b) }
> ok 8389 no-extra-parens valid async function a() { (await a)() }
> ok 8390 no-extra-parens valid async function a() { new (await a) }
> ok 8391 no-extra-parens valid (foo instanceof bar) instanceof baz
> ok 8392 no-extra-parens valid (foo in bar) in baz
> ok 8393 no-extra-parens valid (foo + bar) + baz
> ok 8394 no-extra-parens valid (foo && bar) && baz
> ok 8395 no-extra-parens valid foo instanceof (bar instanceof baz)
> ok 8396 no-extra-parens valid foo in (bar in baz)
> ok 8397 no-extra-parens valid foo + (bar + baz)
> ok 8398 no-extra-parens valid foo && (bar && baz)
> ok 8399 no-extra-parens valid (async function() {});
> ok 8400 no-extra-parens valid (async function () { }());
> ok 8401 no-extra-parens valid const Component = (<div />)
> ok 8402 no-extra-parens valid const Component = (<>
>   <p />
> </>);
> ok 8403 no-extra-parens valid const Component = (<div>
>   <p />
> </div>);
> ok 8404 no-extra-parens valid const Component = (
>   <div />
> );
> ok 8405 no-extra-parens valid const Component =
>   (<div />)
> ok 8406 no-extra-parens valid const Component = (<div />);
> ok 8407 no-extra-parens valid const Component = (
>   <div />
> );
> ok 8408 no-extra-parens valid const Component =
> (<div />)
> ok 8409 no-extra-parens valid const Component = (
> <div>
>   <p />
> </div>
> );
> ok 8410 no-extra-parens valid const Component = (<div>
>   <p />
> </div>);
> ok 8411 no-extra-parens valid const Component =
> (<div>
>   <p />
> </div>);
> ok 8412 no-extra-parens valid const Component = (<div
>   prop={true}
> />)
> ok 8413 no-extra-parens valid var a = b => 1 ? 2 : 3
> ok 8414 no-extra-parens valid var a = (b) => (1 ? 2 : 3)
> ok 8415 no-extra-parens valid let a = [ ...b ]
> ok 8416 no-extra-parens valid let a = { ...b }
> ok 8417 no-extra-parens valid let a = { ...b }
> ok 8418 no-extra-parens valid let a = [ ...(b, c) ]
> ok 8419 no-extra-parens valid let a = { ...(b, c) }
> ok 8420 no-extra-parens valid let a = { ...(b, c) }
> ok 8421 no-extra-parens valid var [x = (1, foo)] = bar
> ok 8422 no-extra-parens valid class A extends B {}
> ok 8423 no-extra-parens valid const A = class extends B {}
> ok 8424 no-extra-parens valid class A extends (B=C) {}
> ok 8425 no-extra-parens valid const A = class extends (B=C) {}
> ok 8426 no-extra-parens valid () => ({ foo: 1 })
> ok 8427 no-extra-parens valid () => ({ foo: 1 }).foo
> ok 8428 no-extra-parens valid () => ({ foo: 1 }.foo().bar).baz.qux()
> ok 8429 no-extra-parens valid () => ({ foo: 1 }.foo().bar + baz)
> ok 8430 no-extra-parens valid export default (function(){}).foo
> ok 8431 no-extra-parens valid export default (class{}).foo
> ok 8432 no-extra-parens valid ({}).hasOwnProperty.call(foo, bar)
> ok 8433 no-extra-parens valid ({}) ? foo() : bar()
> ok 8434 no-extra-parens valid ({}) + foo
> ok 8435 no-extra-parens valid (function(){}) + foo
> ok 8436 no-extra-parens valid (let)
> foo
> ok 8437 no-extra-parens valid (let[foo]) = 1
> ok 8438 no-extra-parens valid ((function(){}).foo.bar)();
> ok 8439 no-extra-parens valid ((function(){}).foo)();
> ok 8440 no-extra-parens valid (let)[foo]
> ok 8441 no-extra-parens valid for ((let) in foo);
> ok 8442 no-extra-parens valid for ((let[foo]) in bar);
> ok 8443 no-extra-parens valid for ((let)[foo] in bar);
> ok 8444 no-extra-parens valid for ((let[foo].bar) in baz);
> ok 8445 no-extra-parens invalid (0)
> ok 8446 no-extra-parens invalid (  0  )
> ok 8447 no-extra-parens invalid if((0));
> ok 8448 no-extra-parens invalid if(( 0 ));
> ok 8449 no-extra-parens invalid with((0)){}
> ok 8450 no-extra-parens invalid switch((0)){}
> ok 8451 no-extra-parens invalid switch(0){ case (1): break; }
> ok 8452 no-extra-parens invalid for((0);;);
> ok 8453 no-extra-parens invalid for(;(0););
> ok 8454 no-extra-parens invalid for(;;(0));
> ok 8455 no-extra-parens invalid throw(0)
> ok 8456 no-extra-parens invalid while((0));
> ok 8457 no-extra-parens invalid do; while((0))
> ok 8458 no-extra-parens invalid for(a in (0));
> ok 8459 no-extra-parens invalid for(a of (0));
> ok 8460 no-extra-parens invalid var foo = (function*() { if ((yield foo())) { return; } }())
> ok 8461 no-extra-parens invalid f((0))
> ok 8462 no-extra-parens invalid f(0, (1))
> ok 8463 no-extra-parens invalid !(0)
> ok 8464 no-extra-parens invalid a[(1)]
> ok 8465 no-extra-parens invalid (a)(b)
> ok 8466 no-extra-parens invalid (async)
> ok 8467 no-extra-parens invalid (a, b)
> ok 8468 no-extra-parens invalid var a = (b = c);
> ok 8469 no-extra-parens invalid function f(){ return (a); }
> ok 8470 no-extra-parens invalid [a, (b = c)]
> ok 8471 no-extra-parens invalid !{a: (b = c)}
> ok 8472 no-extra-parens invalid typeof(0)
> ok 8473 no-extra-parens invalid typeof (0)
> ok 8474 no-extra-parens invalid typeof([])
> ok 8475 no-extra-parens invalid typeof ([])
> ok 8476 no-extra-parens invalid typeof( 0)
> ok 8477 no-extra-parens invalid typeof(typeof 5)
> ok 8478 no-extra-parens invalid typeof (typeof 5)
> ok 8479 no-extra-parens invalid +(+foo)
> ok 8480 no-extra-parens invalid -(-foo)
> ok 8481 no-extra-parens invalid +(-foo)
> ok 8482 no-extra-parens invalid -(+foo)
> ok 8483 no-extra-parens invalid ++(foo)
> ok 8484 no-extra-parens invalid --(foo)
> ok 8485 no-extra-parens invalid (a || b) ? c : d
> ok 8486 no-extra-parens invalid a ? (b = c) : d
> ok 8487 no-extra-parens invalid a ? b : (c = d)
> ok 8488 no-extra-parens invalid f((a = b))
> ok 8489 no-extra-parens invalid a, (b = c)
> ok 8490 no-extra-parens invalid a = (b * c)
> ok 8491 no-extra-parens invalid a + (b * c)
> ok 8492 no-extra-parens invalid (a * b) + c
> ok 8493 no-extra-parens invalid (a * b) / c
> ok 8494 no-extra-parens invalid (2) ** 3 ** 4
> ok 8495 no-extra-parens invalid 2 ** (3 ** 4)
> ok 8496 no-extra-parens invalid (2 ** 3)
> ok 8497 no-extra-parens invalid (2 ** 3) + 1
> ok 8498 no-extra-parens invalid 1 - (2 ** 3)
> ok 8499 no-extra-parens invalid a = (b * c)
> ok 8500 no-extra-parens invalid (b * c)
> ok 8501 no-extra-parens invalid a = (b = c)
> ok 8502 no-extra-parens invalid (a).b
> ok 8503 no-extra-parens invalid (0)[a]
> ok 8504 no-extra-parens invalid (0.0).a
> ok 8505 no-extra-parens invalid (0xBEEF).a
> ok 8506 no-extra-parens invalid (1e6).a
> ok 8507 no-extra-parens invalid (0123).a
> ok 8508 no-extra-parens invalid a[(function() {})]
> ok 8509 no-extra-parens invalid new (function(){})
> ok 8510 no-extra-parens invalid new (
> function(){}
> )
> ok 8511 no-extra-parens invalid ((function foo() {return 1;}))()
> ok 8512 no-extra-parens invalid ((function(){ return bar(); })())
> ok 8513 no-extra-parens invalid (foo()).bar
> ok 8514 no-extra-parens invalid (foo.bar()).baz
> ok 8515 no-extra-parens invalid (foo
> .bar())
> .baz
> ok 8516 no-extra-parens invalid new (A)
> ok 8517 no-extra-parens invalid (new A())()
> ok 8518 no-extra-parens invalid (new A(1))()
> ok 8519 no-extra-parens invalid ((new A))()
> ok 8520 no-extra-parens invalid new (foo
> .baz
> .bar
> .foo.baz)
> ok 8521 no-extra-parens invalid new (foo.baz.bar.baz)
> ok 8522 no-extra-parens invalid 0, (_ => 0)
> ok 8523 no-extra-parens invalid (_ => 0), 0
> ok 8524 no-extra-parens invalid a = (_ => 0)
> ok 8525 no-extra-parens invalid _ => (a = 0)
> ok 8526 no-extra-parens invalid x => (({}))
> ok 8527 no-extra-parens invalid new (function(){})
> ok 8528 no-extra-parens invalid new (
> function(){}
> )
> ok 8529 no-extra-parens invalid ((function foo() {return 1;}))()
> ok 8530 no-extra-parens invalid a[(function() {})]
> ok 8531 no-extra-parens invalid 0, (_ => 0)
> ok 8532 no-extra-parens invalid (_ => 0), 0
> ok 8533 no-extra-parens invalid a = (_ => 0)
> ok 8534 no-extra-parens invalid while ((foo = bar())) {}
> ok 8535 no-extra-parens invalid while ((foo = bar())) {}
> ok 8536 no-extra-parens invalid if ((foo = bar())) {}
> ok 8537 no-extra-parens invalid do; while ((foo = bar()))
> ok 8538 no-extra-parens invalid for (;(a = b););
> ok 8539 no-extra-parens invalid ((function(){})).foo();
> ok 8540 no-extra-parens invalid ((function(){}).foo());
> ok 8541 no-extra-parens invalid ((function(){}).foo);
> ok 8542 no-extra-parens invalid 0, (function(){}).foo();
> ok 8543 no-extra-parens invalid void (function(){}).foo();
> ok 8544 no-extra-parens invalid ++(function(){}).foo;
> ok 8545 no-extra-parens invalid bar || (function(){}).foo();
> ok 8546 no-extra-parens invalid 1 + (function(){}).foo();
> ok 8547 no-extra-parens invalid bar ? (function(){}).foo() : baz;
> ok 8548 no-extra-parens invalid bar ? baz : (function(){}).foo();
> ok 8549 no-extra-parens invalid bar((function(){}).foo(), 0);
> ok 8550 no-extra-parens invalid bar[(function(){}).foo()];
> ok 8551 no-extra-parens invalid var bar = (function(){}).foo();
> ok 8552 no-extra-parens invalid ((class{})).foo();
> ok 8553 no-extra-parens invalid ((class{}).foo());
> ok 8554 no-extra-parens invalid ((class{}).foo);
> ok 8555 no-extra-parens invalid 0, (class{}).foo();
> ok 8556 no-extra-parens invalid void (class{}).foo();
> ok 8557 no-extra-parens invalid ++(class{}).foo;
> ok 8558 no-extra-parens invalid bar || (class{}).foo();
> ok 8559 no-extra-parens invalid 1 + (class{}).foo();
> ok 8560 no-extra-parens invalid bar ? (class{}).foo() : baz;
> ok 8561 no-extra-parens invalid bar ? baz : (class{}).foo();
> ok 8562 no-extra-parens invalid bar((class{}).foo(), 0);
> ok 8563 no-extra-parens invalid bar[(class{}).foo()];
> ok 8564 no-extra-parens invalid var bar = (class{}).foo();
> ok 8565 no-extra-parens invalid function *a() { yield (b); }
> ok 8566 no-extra-parens invalid function *a() { (yield b), c; }
> ok 8567 no-extra-parens invalid function *a() { yield ((b, c)); }
> ok 8568 no-extra-parens invalid function *a() { yield (b + c); }
> ok 8569 no-extra-parens invalid function a() {
>     return (b);
> }
> ok 8570 no-extra-parens invalid function a() {
>     return
>     (b);
> }
> ok 8571 no-extra-parens invalid function a() {
>     return ((
>        b
>     ));
> }
> ok 8572 no-extra-parens invalid function a() {
>     return (<JSX />);
> }
> ok 8573 no-extra-parens invalid function a() {
>     return
>     (<JSX />);
> }
> ok 8574 no-extra-parens invalid function a() {
>     return ((
>        <JSX />
>     ));
> }
> ok 8575 no-extra-parens invalid function a() {
>     return ((
>        <></>
>     ));
> }
> ok 8576 no-extra-parens invalid throw (a);
> ok 8577 no-extra-parens invalid throw ((
>    a
> ));
> ok 8578 no-extra-parens invalid function *a() {
>     yield (b);
> }
> ok 8579 no-extra-parens invalid function *a() {
>     yield
>     (b);
> }
> ok 8580 no-extra-parens invalid function *a() {
>     yield ((
>        b
>     ));
> }
> ok 8581 no-extra-parens invalid function a(b) { return (b || c); }
> ok 8582 no-extra-parens invalid function a(b) { return ((b = c) || (d = e)); }
> ok 8583 no-extra-parens invalid function a(b) { return (b = 1); }
> ok 8584 no-extra-parens invalid function a(b) { return c ? (d = b) : (e = b); }
> ok 8585 no-extra-parens invalid b => (b || c);
> ok 8586 no-extra-parens invalid b => ((b = c) || (d = e));
> ok 8587 no-extra-parens invalid b => (b = 1);
> ok 8588 no-extra-parens invalid b => c ? (d = b) : (e = b);
> ok 8589 no-extra-parens invalid b => { return (b || c); }
> ok 8590 no-extra-parens invalid b => { return ((b = c) || (d = e)) };
> ok 8591 no-extra-parens invalid b => { return (b = 1) };
> ok 8592 no-extra-parens invalid b => { return c ? (d = b) : (e = b); }
> ok 8593 no-extra-parens invalid async function a() { (await a) + (await b); }
> ok 8594 no-extra-parens invalid async function a() { await (a); }
> ok 8595 no-extra-parens invalid async function a() { await (a()); }
> ok 8596 no-extra-parens invalid async function a() { await (+a); }
> ok 8597 no-extra-parens invalid async function a() { +(await a); }
> ok 8598 no-extra-parens invalid (foo) instanceof bar
> ok 8599 no-extra-parens invalid (foo) in bar
> ok 8600 no-extra-parens invalid (foo) + bar
> ok 8601 no-extra-parens invalid (foo) && bar
> ok 8602 no-extra-parens invalid foo instanceof (bar)
> ok 8603 no-extra-parens invalid foo in (bar)
> ok 8604 no-extra-parens invalid foo + (bar)
> ok 8605 no-extra-parens invalid foo && (bar)
> ok 8606 no-extra-parens invalid const Component = (<div />);
> ok 8607 no-extra-parens invalid const Component = (
>   <div />
> );
> ok 8608 no-extra-parens invalid const Component = (
>   <></>
> );
> ok 8609 no-extra-parens invalid const Component = (
> <div>
>   <p />
> </div>
> );
> ok 8610 no-extra-parens invalid const Component = (<div>
>   <p />
> </div>);
> ok 8611 no-extra-parens invalid const Component = (<div
>   prop={true}
> />)
> ok 8612 no-extra-parens invalid const Component = (<div />);
> ok 8613 no-extra-parens invalid const Component = (<div>
> <p />
> </div>)
> ok 8614 no-extra-parens invalid var a = (b) => (1 ? 2 : 3)
> ok 8615 no-extra-parens invalid var a = (b) => ((1 ? 2 : 3))
> ok 8616 no-extra-parens invalid let a = [...(b)]
> ok 8617 no-extra-parens invalid let a = {...(b)}
> ok 8618 no-extra-parens invalid let a = {...(b)}
> ok 8619 no-extra-parens invalid let a = [...((b, c))]
> ok 8620 no-extra-parens invalid let a = {...((b, c))}
> ok 8621 no-extra-parens invalid let a = {...((b, c))}
> ok 8622 no-extra-parens invalid class A extends (B) {}
> ok 8623 no-extra-parens invalid const A = class extends (B) {}
> ok 8624 no-extra-parens invalid class A extends ((B=C)) {}
> ok 8625 no-extra-parens invalid const A = class extends ((B=C)) {}
> ok 8626 no-extra-parens invalid for (foo of(bar));
> ok 8627 no-extra-parens invalid for ((foo) of bar);
> ok 8628 no-extra-parens invalid for ((foo)in bar);
> ok 8629 no-extra-parens invalid for ((foo['bar'])of baz);
> ok 8630 no-extra-parens invalid () => (({ foo: 1 }).foo)
> ok 8631 no-extra-parens invalid (let).foo
> ok 8632 no-extra-parens invalid for ((let.foo) in bar);
> ok 8633 no-extra-parens invalid for ((let).foo.bar in baz);
> ok 8634 no-extra-parens invalid for (a in (b, c));
> ok 8635 no-extra-parens invalid (let)
> ok 8636 no-extra-parens invalid ((let))
> ok 8637 no-extra-semi valid var x = 5;
> ok 8638 no-extra-semi valid function foo(){}
> ok 8639 no-extra-semi valid for(;;);
> ok 8640 no-extra-semi valid while(0);
> ok 8641 no-extra-semi valid do;while(0);
> ok 8642 no-extra-semi valid for(a in b);
> ok 8643 no-extra-semi valid for(a of b);
> ok 8644 no-extra-semi valid if(true);
> ok 8645 no-extra-semi valid if(true); else;
> ok 8646 no-extra-semi valid foo: ;
> ok 8647 no-extra-semi valid with(foo);
> ok 8648 no-extra-semi valid class A { }
> ok 8649 no-extra-semi valid var A = class { };
> ok 8650 no-extra-semi valid class A { a() { this; } }
> ok 8651 no-extra-semi valid var A = class { a() { this; } };
> ok 8652 no-extra-semi valid class A { } a;
> ok 8653 no-extra-semi valid export const x = 42;
> ok 8654 no-extra-semi valid export default 42;
> ok 8655 no-extra-semi invalid var x = 5;;
> ok 8656 no-extra-semi invalid function foo(){};
> ok 8657 no-extra-semi invalid for(;;);;
> ok 8658 no-extra-semi invalid while(0);;
> ok 8659 no-extra-semi invalid do;while(0);;
> ok 8660 no-extra-semi invalid for(a in b);;
> ok 8661 no-extra-semi invalid for(a of b);;
> ok 8662 no-extra-semi invalid if(true);;
> ok 8663 no-extra-semi invalid if(true){} else;;
> ok 8664 no-extra-semi invalid if(true){;} else {;}
> ok 8665 no-extra-semi invalid foo:;;
> ok 8666 no-extra-semi invalid with(foo);;
> ok 8667 no-extra-semi invalid with(foo){;}
> ok 8668 no-extra-semi invalid class A { ; }
> ok 8669 no-extra-semi invalid class A { /*a*/; }
> ok 8670 no-extra-semi invalid class A { ; a() {} }
> ok 8671 no-extra-semi invalid class A { a() {}; }
> ok 8672 no-extra-semi invalid class A { a() {}; b() {} }
> ok 8673 no-extra-semi invalid class A {; a() {}; b() {}; }
> ok 8674 no-extra-semi invalid class A { a() {}; get b() {} }
> ok 8675 no-fallthrough valid switch(foo) { case 0: a(); /* falls through */ case 1: b(); }
> ok 8676 no-fallthrough valid switch(foo) { case 0: a()
>  /* falls through */ case 1: b(); }
> ok 8677 no-fallthrough valid switch(foo) { case 0: a(); /* fall through */ case 1: b(); }
> ok 8678 no-fallthrough valid switch(foo) { case 0: a(); /* fallthrough */ case 1: b(); }
> ok 8679 no-fallthrough valid switch(foo) { case 0: a(); /* FALLS THROUGH */ case 1: b(); }
> ok 8680 no-fallthrough valid function foo() { switch(foo) { case 0: a(); return; case 1: b(); }; }
> ok 8681 no-fallthrough valid switch(foo) { case 0: a(); throw 'foo'; case 1: b(); }
> ok 8682 no-fallthrough valid while (a) { switch(foo) { case 0: a(); continue; case 1: b(); } }
> ok 8683 no-fallthrough valid switch(foo) { case 0: a(); break; case 1: b(); }
> ok 8684 no-fallthrough valid switch(foo) { case 0: case 1: a(); break; case 2: b(); }
> ok 8685 no-fallthrough valid switch(foo) { case 0: case 1: break; case 2: b(); }
> ok 8686 no-fallthrough valid switch(foo) { case 0: case 1: break; default: b(); }
> ok 8687 no-fallthrough valid switch(foo) { case 0: case 1: a(); }
> ok 8688 no-fallthrough valid switch(foo) { case 0: case 1: a(); break; }
> ok 8689 no-fallthrough valid switch(foo) { case 0: case 1: break; }
> ok 8690 no-fallthrough valid switch(foo) { case 0:
>  case 1: break; }
> ok 8691 no-fallthrough valid switch(foo) { case 0: // comment
>  case 1: break; }
> ok 8692 no-fallthrough valid function foo() { switch(foo) { case 0: case 1: return; } }
> ok 8693 no-fallthrough valid function foo() { switch(foo) { case 0: {return;}
>  case 1: {return;} } }
> ok 8694 no-fallthrough valid switch(foo) { case 0: case 1: {break;} }
> ok 8695 no-fallthrough valid switch(foo) { }
> ok 8696 no-fallthrough valid switch(foo) { case 0: switch(bar) { case 2: break; } /* falls through */ case 1: break; }
> ok 8697 no-fallthrough valid function foo() { switch(foo) { case 1: return a; a++; }}
> ok 8698 no-fallthrough valid switch (foo) { case 0: a(); /* falls through */ default:  b(); /* comment */ }
> ok 8699 no-fallthrough valid switch (foo) { case 0: a(); /* falls through */ default: /* comment */ b(); }
> ok 8700 no-fallthrough valid switch (foo) { case 0: if (a) { break; } else { throw 0; } default: b(); }
> ok 8701 no-fallthrough valid switch (foo) { case 0: try { break; } finally {} default: b(); }
> ok 8702 no-fallthrough valid switch (foo) { case 0: try {} finally { break; } default: b(); }
> ok 8703 no-fallthrough valid switch (foo) { case 0: try { throw 0; } catch (err) { break; } default: b(); }
> ok 8704 no-fallthrough valid switch (foo) { case 0: do { throw 0; } while(a); default: b(); }
> ok 8705 no-fallthrough valid switch(foo) { case 0: a(); /* no break */ case 1: b(); }
> ok 8706 no-fallthrough valid switch(foo) { case 0: a(); /* no break: need to execute b() */ case 1: b(); }
> ok 8707 no-fallthrough valid switch(foo) { case 0: a();
> // need to execute b(), so
> // falling through
>  case 1: b(); }
> ok 8708 no-fallthrough valid switch(foo) { case 0: a(); /* break omitted */ default:  b(); /* comment */ }
> ok 8709 no-fallthrough valid switch(foo) { case 0: a(); /* caution: break is omitted intentionally */ case 1: b(); /* break omitted */ default: c(); }
> ok 8710 no-fallthrough invalid switch(foo) { case 0: a();
> case 1: b() }
> ok 8711 no-fallthrough invalid switch(foo) { case 0: a();
> default: b() }
> ok 8712 no-fallthrough invalid switch(foo) { case 0: a(); default: b() }
> ok 8713 no-fallthrough invalid switch(foo) { case 0: if (a) { break; } default: b() }
> ok 8714 no-fallthrough invalid switch(foo) { case 0: try { throw 0; } catch (err) {} default: b() }
> ok 8715 no-fallthrough invalid switch(foo) { case 0: while (a) { break; } default: b() }
> ok 8716 no-fallthrough invalid switch(foo) { case 0: do { break; } while (a); default: b() }
> ok 8717 no-fallthrough invalid switch(foo) { case 0:
> 
>  default: b() }
> ok 8718 no-fallthrough invalid switch(foo) { case 0:
>  // comment
>  default: b() }
> ok 8719 no-fallthrough invalid switch(foo) { case 0: a(); /* falling through */ default: b() }
> ok 8720 no-fallthrough invalid switch(foo) { case 0: a();
> /* no break */
> case 1: b(); }
> ok 8721 no-fallthrough invalid switch(foo) { case 0: a();
> /* no break */
> /* todo: fix readability */
> default: b() }
> ok 8722 no-floating-decimal valid var x = 2.5;
> ok 8723 no-floating-decimal valid var x = "2.5";
> ok 8724 no-floating-decimal invalid var x = .5;
> ok 8725 no-floating-decimal invalid var x = -.5;
> ok 8726 no-floating-decimal invalid var x = 2.;
> ok 8727 no-floating-decimal invalid var x = -2.;
> ok 8728 no-floating-decimal invalid typeof.2
> ok 8729 no-floating-decimal invalid for(foo of.2);
> ok 8730 no-func-assign valid function foo() { var foo = bar; }
> ok 8731 no-func-assign valid function foo(foo) { foo = bar; }
> ok 8732 no-func-assign valid function foo() { var foo; foo = bar; }
> ok 8733 no-func-assign valid var foo = () => {}; foo = bar;
> ok 8734 no-func-assign valid var foo = function() {}; foo = bar;
> ok 8735 no-func-assign valid var foo = function() { foo = bar; };
> ok 8736 no-func-assign valid import bar from 'bar'; function foo() { var foo = bar; }
> ok 8737 no-func-assign invalid function foo() {}; foo = bar;
> ok 8738 no-func-assign invalid function foo() { foo = bar; }
> ok 8739 no-func-assign invalid foo = bar; function foo() { };
> ok 8740 no-func-assign invalid [foo] = bar; function foo() { };
> ok 8741 no-func-assign invalid ({x: foo = 0} = bar); function foo() { };
> ok 8742 no-func-assign invalid function foo() { [foo] = bar; }
> ok 8743 no-func-assign invalid (function() { ({x: foo = 0} = bar); function foo() { }; })();
> ok 8744 no-global-assign valid string = 'hello world';
> ok 8745 no-global-assign valid var string;
> ok 8746 no-global-assign valid Object = 0;
> ok 8747 no-global-assign valid top = 0;
> ok 8748 no-global-assign valid onload = 0;
> ok 8749 no-global-assign valid require = 0;
> ok 8750 no-global-assign valid a = 1
> ok 8751 no-global-assign valid /*global a:true*/ a = 1
> ok 8752 no-global-assign invalid String = 'hello world';
> ok 8753 no-global-assign invalid String++;
> ok 8754 no-global-assign invalid ({Object = 0, String = 0} = {});
> ok 8755 no-global-assign invalid top = 0;
> ok 8756 no-global-assign invalid require = 0;
> ok 8757 no-global-assign invalid /*global b:false*/ function f() { b = 1; }
> ok 8758 no-global-assign invalid function f() { b = 1; }
> ok 8759 no-global-assign invalid /*global b:false*/ function f() { b++; }
> ok 8760 no-global-assign invalid /*global b*/ b = 1;
> ok 8761 no-global-assign invalid Array = 1;
> ok 8762 no-implicit-coercion valid Boolean(foo)
> ok 8763 no-implicit-coercion valid foo.indexOf(1) !== -1
> ok 8764 no-implicit-coercion valid Number(foo)
> ok 8765 no-implicit-coercion valid parseInt(foo)
> ok 8766 no-implicit-coercion valid parseFloat(foo)
> ok 8767 no-implicit-coercion valid String(foo)
> ok 8768 no-implicit-coercion valid !foo
> ok 8769 no-implicit-coercion valid ~foo
> ok 8770 no-implicit-coercion valid -foo
> ok 8771 no-implicit-coercion valid +1234
> ok 8772 no-implicit-coercion valid -1234
> ok 8773 no-implicit-coercion valid +Number(lol)
> ok 8774 no-implicit-coercion valid -parseFloat(lol)
> ok 8775 no-implicit-coercion valid 2 * foo
> ok 8776 no-implicit-coercion valid 1 * 1234
> ok 8777 no-implicit-coercion valid 1 * Number(foo)
> ok 8778 no-implicit-coercion valid 1 * parseInt(foo)
> ok 8779 no-implicit-coercion valid 1 * parseFloat(foo)
> ok 8780 no-implicit-coercion valid Number(foo) * 1
> ok 8781 no-implicit-coercion valid parseInt(foo) * 1
> ok 8782 no-implicit-coercion valid parseFloat(foo) * 1
> ok 8783 no-implicit-coercion valid 1 * 1234 * 678 * Number(foo)
> ok 8784 no-implicit-coercion valid 1 * 1234 * 678 * parseInt(foo)
> ok 8785 no-implicit-coercion valid 1234 * 1 * 678 * Number(foo)
> ok 8786 no-implicit-coercion valid 1234 * 1 * Number(foo) * Number(bar)
> ok 8787 no-implicit-coercion valid 1234 * 1 * Number(foo) * parseInt(bar)
> ok 8788 no-implicit-coercion valid 1234 * 1 * Number(foo) * parseFloat(bar)
> ok 8789 no-implicit-coercion valid 1234 * 1 * parseInt(foo) * parseFloat(bar)
> ok 8790 no-implicit-coercion valid 1234 * 1 * parseInt(foo) * Number(bar)
> ok 8791 no-implicit-coercion valid 1234 * 1 * parseFloat(foo) * Number(bar)
> ok 8792 no-implicit-coercion valid 1234 * Number(foo) * 1 * Number(bar)
> ok 8793 no-implicit-coercion valid 1234 * parseInt(foo) * 1 * Number(bar)
> ok 8794 no-implicit-coercion valid 1234 * parseFloat(foo) * 1 * parseInt(bar)
> ok 8795 no-implicit-coercion valid 1234 * parseFloat(foo) * 1 * Number(bar)
> ok 8796 no-implicit-coercion valid 1234*foo*1
> ok 8797 no-implicit-coercion valid 1234*1*foo
> ok 8798 no-implicit-coercion valid 1234*bar*1*foo
> ok 8799 no-implicit-coercion valid 1234*1*foo*bar
> ok 8800 no-implicit-coercion valid 1234*1*foo*Number(bar)
> ok 8801 no-implicit-coercion valid 1234*1*Number(foo)*bar
> ok 8802 no-implicit-coercion valid 1234*1*parseInt(foo)*bar
> ok 8803 no-implicit-coercion valid 0 + foo
> ok 8804 no-implicit-coercion valid ~foo.bar()
> ok 8805 no-implicit-coercion valid foo + 'bar'
> ok 8806 no-implicit-coercion valid foo + `${bar}`
> ok 8807 no-implicit-coercion valid !!foo
> ok 8808 no-implicit-coercion valid ~foo.indexOf(1)
> ok 8809 no-implicit-coercion valid +foo
> ok 8810 no-implicit-coercion valid 1*foo
> ok 8811 no-implicit-coercion valid ""+foo
> ok 8812 no-implicit-coercion valid foo += ""
> ok 8813 no-implicit-coercion valid var a = !!foo
> ok 8814 no-implicit-coercion valid var a = ~foo.indexOf(1)
> ok 8815 no-implicit-coercion valid var a = ~foo
> ok 8816 no-implicit-coercion valid var a = 1 * foo
> ok 8817 no-implicit-coercion valid var a = +foo
> ok 8818 no-implicit-coercion valid var a = "" + foo
> ok 8819 no-implicit-coercion valid '' + 'foo'
> ok 8820 no-implicit-coercion valid `` + 'foo'
> ok 8821 no-implicit-coercion valid '' + `${foo}`
> ok 8822 no-implicit-coercion valid 'foo' + ''
> ok 8823 no-implicit-coercion valid 'foo' + ``
> ok 8824 no-implicit-coercion valid `${foo}` + ''
> ok 8825 no-implicit-coercion valid foo += 'bar'
> ok 8826 no-implicit-coercion valid foo += `${bar}`
> ok 8827 no-implicit-coercion valid +42
> ok 8828 no-implicit-coercion invalid !!foo
> ok 8829 no-implicit-coercion invalid !!(foo + bar)
> ok 8830 no-implicit-coercion invalid ~foo.indexOf(1)
> ok 8831 no-implicit-coercion invalid ~foo.bar.indexOf(2)
> ok 8832 no-implicit-coercion invalid +foo
> ok 8833 no-implicit-coercion invalid +foo.bar
> ok 8834 no-implicit-coercion invalid 1*foo
> ok 8835 no-implicit-coercion invalid foo*1
> ok 8836 no-implicit-coercion invalid 1*foo.bar
> ok 8837 no-implicit-coercion invalid ""+foo
> ok 8838 no-implicit-coercion invalid ``+foo
> ok 8839 no-implicit-coercion invalid foo+""
> ok 8840 no-implicit-coercion invalid foo+``
> ok 8841 no-implicit-coercion invalid ""+foo.bar
> ok 8842 no-implicit-coercion invalid ``+foo.bar
> ok 8843 no-implicit-coercion invalid foo.bar+""
> ok 8844 no-implicit-coercion invalid foo.bar+``
> ok 8845 no-implicit-coercion invalid foo += ""
> ok 8846 no-implicit-coercion invalid foo += ``
> ok 8847 no-implicit-coercion invalid var a = !!foo
> ok 8848 no-implicit-coercion invalid var a = ~foo.indexOf(1)
> ok 8849 no-implicit-coercion invalid var a = 1 * foo
> ok 8850 no-implicit-coercion invalid var a = +foo
> ok 8851 no-implicit-coercion invalid var a = "" + foo
> ok 8852 no-implicit-coercion invalid var a = `` + foo
> ok 8853 no-implicit-coercion invalid typeof+foo
> ok 8854 no-implicit-coercion invalid typeof +foo
> ok 8855 no-implicit-globals valid const foo = 1;
> ok 8856 no-implicit-globals valid let foo = 1;
> ok 8857 no-implicit-globals valid let foo = function() {};
> ok 8858 no-implicit-globals valid const foo = function() {};
> ok 8859 no-implicit-globals valid class Foo {}
> ok 8860 no-implicit-globals valid window.foo = 1;
> ok 8861 no-implicit-globals valid window.foo = function() {};
> ok 8862 no-implicit-globals valid window.foo = function foo() {};
> ok 8863 no-implicit-globals valid window.foo = function*() {};
> ok 8864 no-implicit-globals valid self.foo = 1;
> ok 8865 no-implicit-globals valid self.foo = function() {};
> ok 8866 no-implicit-globals valid this.foo = 1;
> ok 8867 no-implicit-globals valid this.foo = function() {};
> ok 8868 no-implicit-globals valid Utils.foo = 1;
> ok 8869 no-implicit-globals valid Utils.foo = function() {};
> ok 8870 no-implicit-globals valid (function() { var foo = 1; })();
> ok 8871 no-implicit-globals valid (function() { let foo = 1; })();
> ok 8872 no-implicit-globals valid (function() { const foo = 1; })();
> ok 8873 no-implicit-globals valid (function() { function foo() {} })();
> ok 8874 no-implicit-globals valid (function() { function *foo() {} })();
> ok 8875 no-implicit-globals valid var foo = 1;
> ok 8876 no-implicit-globals valid let foo = 1;
> ok 8877 no-implicit-globals valid const foo = 1;
> ok 8878 no-implicit-globals valid function foo() {}
> ok 8879 no-implicit-globals valid function *foo() {}
> ok 8880 no-implicit-globals valid var foo = 1;
> ok 8881 no-implicit-globals valid let foo = 1;
> ok 8882 no-implicit-globals valid const foo = 1;
> ok 8883 no-implicit-globals valid function foo() {}
> ok 8884 no-implicit-globals valid /*global foo:true*/ var foo = 1;
> ok 8885 no-implicit-globals valid /*global foo:true*/ foo = 1;
> ok 8886 no-implicit-globals valid /*global foo:true*/ function foo() {}
> ok 8887 no-implicit-globals invalid foo = 1;
> ok 8888 no-implicit-globals invalid foo = 1, bar = 2;
> ok 8889 no-implicit-globals invalid var foo = 1;
> ok 8890 no-implicit-globals invalid var foo = 1, bar = 2;
> ok 8891 no-implicit-globals invalid function foo() {}
> ok 8892 no-implicit-globals invalid foo = function() {};
> ok 8893 no-implicit-globals invalid var foo = function() {};
> ok 8894 no-implicit-globals invalid var foo = function foo() {};
> ok 8895 no-implicit-globals invalid function *foo() {}
> ok 8896 no-implicit-globals invalid foo = function*() {};
> ok 8897 no-implicit-globals invalid var foo = function*() {};
> ok 8898 no-implicit-globals invalid var foo = function *foo() {};
> ok 8899 no-implicit-globals invalid foo = 1;
> ok 8900 no-implicit-globals invalid /*global foo:false*/ var foo = 1;
> ok 8901 no-implicit-globals invalid /*global foo:false*/ foo = 1;
> ok 8902 no-implicit-globals invalid /*global foo:false*/ function foo() {}
> ok 8903 no-implied-eval valid setInterval(function() { x = 1; }, 100);
> ok 8904 no-implied-eval valid foo.setTimeout('hi')
> ok 8905 no-implied-eval valid setTimeout(foo, 10)
> ok 8906 no-implied-eval valid setTimeout(function() {}, 10)
> ok 8907 no-implied-eval valid foo.setInterval('hi')
> ok 8908 no-implied-eval valid setInterval(foo, 10)
> ok 8909 no-implied-eval valid setInterval(function() {}, 10)
> ok 8910 no-implied-eval valid foo.execScript('hi')
> ok 8911 no-implied-eval valid execScript(foo)
> ok 8912 no-implied-eval valid execScript(function() {})
> ok 8913 no-implied-eval valid setTimeout(foo + bar, 10)
> ok 8914 no-implied-eval valid setTimeout(foobar, 'buzz')
> ok 8915 no-implied-eval valid setTimeout(foobar, foo + 'bar')
> ok 8916 no-implied-eval valid setTimeout(function() { return 'foobar'; }, 10)
> ok 8917 no-implied-eval valid setTimeoutFooBar('Foo Bar')
> ok 8918 no-implied-eval invalid setTimeout("x = 1;");
> ok 8919 no-implied-eval invalid setTimeout("x = 1;", 100);
> ok 8920 no-implied-eval invalid setInterval("x = 1;");
> ok 8921 no-implied-eval invalid execScript("x = 1;");
> ok 8922 no-implied-eval invalid window.setTimeout('foo')
> ok 8923 no-implied-eval invalid window.setInterval('foo')
> ok 8924 no-implied-eval invalid window['setTimeout']('foo')
> ok 8925 no-implied-eval invalid window['setInterval']('foo')
> ok 8926 no-implied-eval invalid setTimeout(`foo${bar}`)
> ok 8927 no-implied-eval invalid setTimeout('foo' + bar)
> ok 8928 no-implied-eval invalid setTimeout(foo + 'bar')
> ok 8929 no-implied-eval invalid setTimeout(`foo` + bar)
> ok 8930 no-implied-eval invalid setTimeout(1 + ';' + 1)
> ok 8931 no-implied-eval invalid setTimeout('foo' + (function() {
>    setTimeout(helper);
>    execScript('str');
>    return 'bar';
> })())
> ok 8932 no-inline-comments valid // A valid comment before code
> var a = 1;
> ok 8933 no-inline-comments valid var a = 2;
> // A valid comment after code
> ok 8934 no-inline-comments valid // A solitary comment
> ok 8935 no-inline-comments valid var a = 1; // eslint-disable-line some-rule
> ok 8936 no-inline-comments valid var a = 1; /* eslint-disable-line some-rule */
> ok 8937 no-inline-comments invalid var a = 1; /*A block comment inline after code*/
> ok 8938 no-inline-comments invalid /*A block comment inline before code*/ var a = 2;
> ok 8939 no-inline-comments invalid var a = 3; //A comment inline with code
> ok 8940 no-inline-comments invalid var a = 3; // someday use eslint-disable-line here
> ok 8941 no-inline-comments invalid var a = 4;
> /**A
>  * block
>  * comment
>  * inline
>  * between
>  * code*/ var foo = a;
> ok 8942 no-inner-declarations valid function doSomething() { }
> ok 8943 no-inner-declarations valid function doSomething() { function somethingElse() { } }
> ok 8944 no-inner-declarations valid (function() { function doSomething() { } }());
> ok 8945 no-inner-declarations valid if (test) { var fn = function() { }; }
> ok 8946 no-inner-declarations valid if (test) { var fn = function expr() { }; }
> ok 8947 no-inner-declarations valid function decl() { var fn = function expr() { }; }
> ok 8948 no-inner-declarations valid function decl(arg) { var fn; if (arg) { fn = function() { }; } }
> ok 8949 no-inner-declarations valid var x = {doSomething() {function doSomethingElse() {}}}
> ok 8950 no-inner-declarations valid function decl(arg) { var fn; if (arg) { fn = function expr() { }; } }
> ok 8951 no-inner-declarations valid function decl(arg) { var fn; if (arg) { fn = function expr() { }; } }
> ok 8952 no-inner-declarations valid if (test) { var foo; }
> ok 8953 no-inner-declarations valid if (test) { let x = 1; }
> ok 8954 no-inner-declarations valid if (test) { const x = 1; }
> ok 8955 no-inner-declarations valid function doSomething() { while (test) { var foo; } }
> ok 8956 no-inner-declarations valid var foo;
> ok 8957 no-inner-declarations valid var foo = 42;
> ok 8958 no-inner-declarations valid function doSomething() { var foo; }
> ok 8959 no-inner-declarations valid (function() { var foo; }());
> ok 8960 no-inner-declarations valid foo(() => { function bar() { } });
> ok 8961 no-inner-declarations valid var fn = () => {var foo;}
> ok 8962 no-inner-declarations valid var x = {doSomething() {var foo;}}
> ok 8963 no-inner-declarations invalid if (test) { function doSomething() { } }
> ok 8964 no-inner-declarations invalid function doSomething() { do { function somethingElse() { } } while (test); }
> ok 8965 no-inner-declarations invalid (function() { if (test) { function doSomething() { } } }());
> ok 8966 no-inner-declarations invalid while (test) { var foo; }
> ok 8967 no-inner-declarations invalid function doSomething() { if (test) { var foo = 42; } }
> ok 8968 no-inner-declarations invalid (function() { if (test) { var foo; } }());
> ok 8969 no-invalid-regexp valid RegExp('')
> ok 8970 no-invalid-regexp valid RegExp()
> ok 8971 no-invalid-regexp valid RegExp('.', 'g')
> ok 8972 no-invalid-regexp valid new RegExp('.')
> ok 8973 no-invalid-regexp valid new RegExp
> ok 8974 no-invalid-regexp valid new RegExp('.', 'im')
> ok 8975 no-invalid-regexp valid global.RegExp('\\')
> ok 8976 no-invalid-regexp valid new RegExp('.', y)
> ok 8977 no-invalid-regexp valid new RegExp('.', 'y')
> ok 8978 no-invalid-regexp valid new RegExp('.', 'u')
> ok 8979 no-invalid-regexp valid new RegExp('.', 'yu')
> ok 8980 no-invalid-regexp valid new RegExp('/', 'yu')
> ok 8981 no-invalid-regexp valid new RegExp('\/', 'yu')
> ok 8982 no-invalid-regexp valid new RegExp('.', 'y')
> ok 8983 no-invalid-regexp valid new RegExp('.', 'u')
> ok 8984 no-invalid-regexp valid new RegExp('.', 'yu')
> ok 8985 no-invalid-regexp valid new RegExp('/', 'yu')
> ok 8986 no-invalid-regexp valid new RegExp('\/', 'yu')
> ok 8987 no-invalid-regexp valid new RegExp('\\u{65}', 'u')
> ok 8988 no-invalid-regexp valid new RegExp('[\\u{0}-\\u{1F}]', 'u')
> ok 8989 no-invalid-regexp valid new RegExp('.', 's')
> ok 8990 no-invalid-regexp valid new RegExp('(?<=a)b')
> ok 8991 no-invalid-regexp valid new RegExp('(?<!a)b')
> ok 8992 no-invalid-regexp valid new RegExp('(?<a>b)\k<a>')
> ok 8993 no-invalid-regexp valid new RegExp('(?<a>b)\k<a>', 'u')
> ok 8994 no-invalid-regexp valid new RegExp('\\p{Letter}', 'u')
> ok 8995 no-invalid-regexp invalid RegExp('[');
> ok 8996 no-invalid-regexp invalid RegExp('.', 'z');
> ok 8997 no-invalid-regexp invalid new RegExp(')');
> ok 8998 no-invalid-regexp invalid new RegExp('\\');
> ok 8999 no-invalid-this valid console.log(this); z(x => console.log(x, this));
> ok 9000 no-invalid-this valid console.log(this); z(x => console.log(x, this));
> ok 9001 no-invalid-this valid (function() { console.log(this); z(x => console.log(x, this)); })();
> ok 9002 no-invalid-this valid function foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9003 no-invalid-this valid return function() { console.log(this); z(x => console.log(x, this)); };
> ok 9004 no-invalid-this valid var foo = (function() { console.log(this); z(x => console.log(x, this)); }).bar(obj);
> ok 9005 no-invalid-this valid var obj = {foo: function() { function foo() { console.log(this); z(x => console.log(x, this)); } foo(); }};
> ok 9006 no-invalid-this valid var obj = {foo() { function foo() { console.log(this); z(x => console.log(x, this)); } foo(); }};
> ok 9007 no-invalid-this valid var obj = {foo: function() { return function() { console.log(this); z(x => console.log(x, this)); }; }};
> ok 9008 no-invalid-this valid obj.foo = function() { return function() { console.log(this); z(x => console.log(x, this)); }; };
> ok 9009 no-invalid-this valid class A {static foo() { console.log(this); z(x => console.log(x, this)); }};
> ok 9010 no-invalid-this valid "use strict"; class A {static foo() { console.log(this); z(x => console.log(x, this)); }};
> ok 9011 no-invalid-this valid /* implied strict mode */ class A {static foo() { console.log(this); z(x => console.log(x, this)); }};
> ok 9012 no-invalid-this valid /* modules */ class A {static foo() { console.log(this); z(x => console.log(x, this)); }};
> ok 9013 no-invalid-this valid function Foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9014 no-invalid-this valid "use strict"; function Foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9015 no-invalid-this valid /* implied strict mode */ function Foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9016 no-invalid-this valid /* modules */ function Foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9017 no-invalid-this valid var Foo = function Foo() { console.log(this); z(x => console.log(x, this)); };
> ok 9018 no-invalid-this valid "use strict"; var Foo = function Foo() { console.log(this); z(x => console.log(x, this)); };
> ok 9019 no-invalid-this valid /* implied strict mode */ var Foo = function Foo() { console.log(this); z(x => console.log(x, this)); };
> ok 9020 no-invalid-this valid /* modules */ var Foo = function Foo() { console.log(this); z(x => console.log(x, this)); };
> ok 9021 no-invalid-this valid class A {constructor() { console.log(this); z(x => console.log(x, this)); }};
> ok 9022 no-invalid-this valid "use strict"; class A {constructor() { console.log(this); z(x => console.log(x, this)); }};
> ok 9023 no-invalid-this valid /* implied strict mode */ class A {constructor() { console.log(this); z(x => console.log(x, this)); }};
> ok 9024 no-invalid-this valid /* modules */ class A {constructor() { console.log(this); z(x => console.log(x, this)); }};
> ok 9025 no-invalid-this valid var obj = {foo: function() { console.log(this); z(x => console.log(x, this)); }};
> ok 9026 no-invalid-this valid "use strict"; var obj = {foo: function() { console.log(this); z(x => console.log(x, this)); }};
> ok 9027 no-invalid-this valid /* implied strict mode */ var obj = {foo: function() { console.log(this); z(x => console.log(x, this)); }};
> ok 9028 no-invalid-this valid /* modules */ var obj = {foo: function() { console.log(this); z(x => console.log(x, this)); }};
> ok 9029 no-invalid-this valid var obj = {foo() { console.log(this); z(x => console.log(x, this)); }};
> ok 9030 no-invalid-this valid "use strict"; var obj = {foo() { console.log(this); z(x => console.log(x, this)); }};
> ok 9031 no-invalid-this valid /* implied strict mode */ var obj = {foo() { console.log(this); z(x => console.log(x, this)); }};
> ok 9032 no-invalid-this valid /* modules */ var obj = {foo() { console.log(this); z(x => console.log(x, this)); }};
> ok 9033 no-invalid-this valid var obj = {foo: foo || function() { console.log(this); z(x => console.log(x, this)); }};
> ok 9034 no-invalid-this valid "use strict"; var obj = {foo: foo || function() { console.log(this); z(x => console.log(x, this)); }};
> ok 9035 no-invalid-this valid /* implied strict mode */ var obj = {foo: foo || function() { console.log(this); z(x => console.log(x, this)); }};
> ok 9036 no-invalid-this valid /* modules */ var obj = {foo: foo || function() { console.log(this); z(x => console.log(x, this)); }};
> ok 9037 no-invalid-this valid var obj = {foo: hasNative ? foo : function() { console.log(this); z(x => console.log(x, this)); }};
> ok 9038 no-invalid-this valid "use strict"; var obj = {foo: hasNative ? foo : function() { console.log(this); z(x => console.log(x, this)); }};
> ok 9039 no-invalid-this valid /* implied strict mode */ var obj = {foo: hasNative ? foo : function() { console.log(this); z(x => console.log(x, this)); }};
> ok 9040 no-invalid-this valid /* modules */ var obj = {foo: hasNative ? foo : function() { console.log(this); z(x => console.log(x, this)); }};
> ok 9041 no-invalid-this valid var obj = {foo: (function() { return function() { console.log(this); z(x => console.log(x, this)); }; })()};
> ok 9042 no-invalid-this valid "use strict"; var obj = {foo: (function() { return function() { console.log(this); z(x => console.log(x, this)); }; })()};
> ok 9043 no-invalid-this valid /* implied strict mode */ var obj = {foo: (function() { return function() { console.log(this); z(x => console.log(x, this)); }; })()};
> ok 9044 no-invalid-this valid /* modules */ var obj = {foo: (function() { return function() { console.log(this); z(x => console.log(x, this)); }; })()};
> ok 9045 no-invalid-this valid Object.defineProperty(obj, "foo", {value: function() { console.log(this); z(x => console.log(x, this)); }})
> ok 9046 no-invalid-this valid "use strict"; Object.defineProperty(obj, "foo", {value: function() { console.log(this); z(x => console.log(x, this)); }})
> ok 9047 no-invalid-this valid /* implied strict mode */ Object.defineProperty(obj, "foo", {value: function() { console.log(this); z(x => console.log(x, this)); }})
> ok 9048 no-invalid-this valid /* modules */ Object.defineProperty(obj, "foo", {value: function() { console.log(this); z(x => console.log(x, this)); }})
> ok 9049 no-invalid-this valid Object.defineProperties(obj, {foo: {value: function() { console.log(this); z(x => console.log(x, this)); }}})
> ok 9050 no-invalid-this valid "use strict"; Object.defineProperties(obj, {foo: {value: function() { console.log(this); z(x => console.log(x, this)); }}})
> ok 9051 no-invalid-this valid /* implied strict mode */ Object.defineProperties(obj, {foo: {value: function() { console.log(this); z(x => console.log(x, this)); }}})
> ok 9052 no-invalid-this valid /* modules */ Object.defineProperties(obj, {foo: {value: function() { console.log(this); z(x => console.log(x, this)); }}})
> ok 9053 no-invalid-this valid obj.foo = function() { console.log(this); z(x => console.log(x, this)); };
> ok 9054 no-invalid-this valid "use strict"; obj.foo = function() { console.log(this); z(x => console.log(x, this)); };
> ok 9055 no-invalid-this valid /* implied strict mode */ obj.foo = function() { console.log(this); z(x => console.log(x, this)); };
> ok 9056 no-invalid-this valid /* modules */ obj.foo = function() { console.log(this); z(x => console.log(x, this)); };
> ok 9057 no-invalid-this valid obj.foo = foo || function() { console.log(this); z(x => console.log(x, this)); };
> ok 9058 no-invalid-this valid "use strict"; obj.foo = foo || function() { console.log(this); z(x => console.log(x, this)); };
> ok 9059 no-invalid-this valid /* implied strict mode */ obj.foo = foo || function() { console.log(this); z(x => console.log(x, this)); };
> ok 9060 no-invalid-this valid /* modules */ obj.foo = foo || function() { console.log(this); z(x => console.log(x, this)); };
> ok 9061 no-invalid-this valid obj.foo = foo ? bar : function() { console.log(this); z(x => console.log(x, this)); };
> ok 9062 no-invalid-this valid "use strict"; obj.foo = foo ? bar : function() { console.log(this); z(x => console.log(x, this)); };
> ok 9063 no-invalid-this valid /* implied strict mode */ obj.foo = foo ? bar : function() { console.log(this); z(x => console.log(x, this)); };
> ok 9064 no-invalid-this valid /* modules */ obj.foo = foo ? bar : function() { console.log(this); z(x => console.log(x, this)); };
> ok 9065 no-invalid-this valid obj.foo = (function() { return function() { console.log(this); z(x => console.log(x, this)); }; })();
> ok 9066 no-invalid-this valid "use strict"; obj.foo = (function() { return function() { console.log(this); z(x => console.log(x, this)); }; })();
> ok 9067 no-invalid-this valid /* implied strict mode */ obj.foo = (function() { return function() { console.log(this); z(x => console.log(x, this)); }; })();
> ok 9068 no-invalid-this valid /* modules */ obj.foo = (function() { return function() { console.log(this); z(x => console.log(x, this)); }; })();
> ok 9069 no-invalid-this valid obj.foo = (() => function() { console.log(this); z(x => console.log(x, this)); })();
> ok 9070 no-invalid-this valid "use strict"; obj.foo = (() => function() { console.log(this); z(x => console.log(x, this)); })();
> ok 9071 no-invalid-this valid /* implied strict mode */ obj.foo = (() => function() { console.log(this); z(x => console.log(x, this)); })();
> ok 9072 no-invalid-this valid /* modules */ obj.foo = (() => function() { console.log(this); z(x => console.log(x, this)); })();
> ok 9073 no-invalid-this valid obj.foo = (function() { return () => { console.log(this); z(x => console.log(x, this)); }; })();
> ok 9074 no-invalid-this valid obj.foo = (() => () => { console.log(this); z(x => console.log(x, this)); })();
> ok 9075 no-invalid-this valid class A {foo() { console.log(this); z(x => console.log(x, this)); }};
> ok 9076 no-invalid-this valid "use strict"; class A {foo() { console.log(this); z(x => console.log(x, this)); }};
> ok 9077 no-invalid-this valid /* implied strict mode */ class A {foo() { console.log(this); z(x => console.log(x, this)); }};
> ok 9078 no-invalid-this valid /* modules */ class A {foo() { console.log(this); z(x => console.log(x, this)); }};
> ok 9079 no-invalid-this valid var foo = function() { console.log(this); z(x => console.log(x, this)); }.bind(obj);
> ok 9080 no-invalid-this valid "use strict"; var foo = function() { console.log(this); z(x => console.log(x, this)); }.bind(obj);
> ok 9081 no-invalid-this valid /* implied strict mode */ var foo = function() { console.log(this); z(x => console.log(x, this)); }.bind(obj);
> ok 9082 no-invalid-this valid /* modules */ var foo = function() { console.log(this); z(x => console.log(x, this)); }.bind(obj);
> ok 9083 no-invalid-this valid var foo = function() { console.log(this); z(x => console.log(x, this)); }.bind(null);
> ok 9084 no-invalid-this valid (function() { console.log(this); z(x => console.log(x, this)); }).call(obj);
> ok 9085 no-invalid-this valid "use strict"; (function() { console.log(this); z(x => console.log(x, this)); }).call(obj);
> ok 9086 no-invalid-this valid /* implied strict mode */ (function() { console.log(this); z(x => console.log(x, this)); }).call(obj);
> ok 9087 no-invalid-this valid /* modules */ (function() { console.log(this); z(x => console.log(x, this)); }).call(obj);
> ok 9088 no-invalid-this valid (function() { console.log(this); z(x => console.log(x, this)); }).call(undefined);
> ok 9089 no-invalid-this valid (function() { console.log(this); z(x => console.log(x, this)); }).apply(obj);
> ok 9090 no-invalid-this valid "use strict"; (function() { console.log(this); z(x => console.log(x, this)); }).apply(obj);
> ok 9091 no-invalid-this valid /* implied strict mode */ (function() { console.log(this); z(x => console.log(x, this)); }).apply(obj);
> ok 9092 no-invalid-this valid /* modules */ (function() { console.log(this); z(x => console.log(x, this)); }).apply(obj);
> ok 9093 no-invalid-this valid (function() { console.log(this); z(x => console.log(x, this)); }).apply(void 0);
> ok 9094 no-invalid-this valid Reflect.apply(function() { console.log(this); z(x => console.log(x, this)); }, obj, []);
> ok 9095 no-invalid-this valid "use strict"; Reflect.apply(function() { console.log(this); z(x => console.log(x, this)); }, obj, []);
> ok 9096 no-invalid-this valid /* implied strict mode */ Reflect.apply(function() { console.log(this); z(x => console.log(x, this)); }, obj, []);
> ok 9097 no-invalid-this valid /* modules */ Reflect.apply(function() { console.log(this); z(x => console.log(x, this)); }, obj, []);
> ok 9098 no-invalid-this valid Array.from([], function() { console.log(this); z(x => console.log(x, this)); });
> ok 9099 no-invalid-this valid foo.every(function() { console.log(this); z(x => console.log(x, this)); });
> ok 9100 no-invalid-this valid foo.filter(function() { console.log(this); z(x => console.log(x, this)); });
> ok 9101 no-invalid-this valid foo.find(function() { console.log(this); z(x => console.log(x, this)); });
> ok 9102 no-invalid-this valid foo.findIndex(function() { console.log(this); z(x => console.log(x, this)); });
> ok 9103 no-invalid-this valid foo.forEach(function() { console.log(this); z(x => console.log(x, this)); });
> ok 9104 no-invalid-this valid foo.map(function() { console.log(this); z(x => console.log(x, this)); });
> ok 9105 no-invalid-this valid foo.some(function() { console.log(this); z(x => console.log(x, this)); });
> ok 9106 no-invalid-this valid Array.from([], function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9107 no-invalid-this valid "use strict"; Array.from([], function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9108 no-invalid-this valid /* implied strict mode */ Array.from([], function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9109 no-invalid-this valid /* modules */ Array.from([], function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9110 no-invalid-this valid foo.every(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9111 no-invalid-this valid "use strict"; foo.every(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9112 no-invalid-this valid /* implied strict mode */ foo.every(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9113 no-invalid-this valid /* modules */ foo.every(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9114 no-invalid-this valid foo.filter(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9115 no-invalid-this valid "use strict"; foo.filter(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9116 no-invalid-this valid /* implied strict mode */ foo.filter(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9117 no-invalid-this valid /* modules */ foo.filter(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9118 no-invalid-this valid foo.find(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9119 no-invalid-this valid "use strict"; foo.find(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9120 no-invalid-this valid /* implied strict mode */ foo.find(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9121 no-invalid-this valid /* modules */ foo.find(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9122 no-invalid-this valid foo.findIndex(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9123 no-invalid-this valid "use strict"; foo.findIndex(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9124 no-invalid-this valid /* implied strict mode */ foo.findIndex(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9125 no-invalid-this valid /* modules */ foo.findIndex(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9126 no-invalid-this valid foo.forEach(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9127 no-invalid-this valid "use strict"; foo.forEach(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9128 no-invalid-this valid /* implied strict mode */ foo.forEach(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9129 no-invalid-this valid /* modules */ foo.forEach(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9130 no-invalid-this valid foo.map(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9131 no-invalid-this valid "use strict"; foo.map(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9132 no-invalid-this valid /* implied strict mode */ foo.map(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9133 no-invalid-this valid /* modules */ foo.map(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9134 no-invalid-this valid foo.some(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9135 no-invalid-this valid "use strict"; foo.some(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9136 no-invalid-this valid /* implied strict mode */ foo.some(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9137 no-invalid-this valid /* modules */ foo.some(function() { console.log(this); z(x => console.log(x, this)); }, obj);
> ok 9138 no-invalid-this valid foo.forEach(function() { console.log(this); z(x => console.log(x, this)); }, null);
> ok 9139 no-invalid-this valid /** @this Obj */ function foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9140 no-invalid-this valid "use strict"; /** @this Obj */ function foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9141 no-invalid-this valid /* implied strict mode */ /** @this Obj */ function foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9142 no-invalid-this valid /* modules */ /** @this Obj */ function foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9143 no-invalid-this valid /**
>  * @returns {void}
>  * @this Obj
>  */
> function foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9144 no-invalid-this valid "use strict"; /**
>  * @returns {void}
>  * @this Obj
>  */
> function foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9145 no-invalid-this valid /* implied strict mode */ /**
>  * @returns {void}
>  * @this Obj
>  */
> function foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9146 no-invalid-this valid /* modules */ /**
>  * @returns {void}
>  * @this Obj
>  */
> function foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9147 no-invalid-this valid /** @returns {void} */ function foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9148 no-invalid-this valid /** @this Obj */ foo(function() { console.log(this); z(x => console.log(x, this)); });
> ok 9149 no-invalid-this valid foo(/* @this Obj */ function() { console.log(this); z(x => console.log(x, this)); });
> ok 9150 no-invalid-this valid "use strict"; foo(/* @this Obj */ function() { console.log(this); z(x => console.log(x, this)); });
> ok 9151 no-invalid-this valid /* implied strict mode */ foo(/* @this Obj */ function() { console.log(this); z(x => console.log(x, this)); });
> ok 9152 no-invalid-this valid /* modules */ foo(/* @this Obj */ function() { console.log(this); z(x => console.log(x, this)); });
> ok 9153 no-invalid-this valid function foo() { console.log(this); z(x => console.log(x, this)); }
> ok 9154 no-invalid-this valid function foo() { /** @this Obj*/ return function bar() { console.log(this); z(x => console.log(x, this)); }; }
> ok 9155 no-invalid-this valid "use strict"; function foo() { /** @this Obj*/ return function bar() { console.log(this); z(x => console.log(x, this)); }; }
> ok 9156 no-invalid-this valid /* implied strict mode */ function foo() { /** @this Obj*/ return function bar() { console.log(this); z(x => console.log(x, this)); }; }
> ok 9157 no-invalid-this valid /* modules */ function foo() { /** @this Obj*/ return function bar() { console.log(this); z(x => console.log(x, this)); }; }
> ok 9158 no-invalid-this valid var Ctor = function() { console.log(this); z(x => console.log(x, this)); }
> ok 9159 no-invalid-this valid "use strict"; var Ctor = function() { console.log(this); z(x => console.log(x, this)); }
> ok 9160 no-invalid-this valid /* implied strict mode */ var Ctor = function() { console.log(this); z(x => console.log(x, this)); }
> ok 9161 no-invalid-this valid /* modules */ var Ctor = function() { console.log(this); z(x => console.log(x, this)); }
> ok 9162 no-invalid-this valid var func = function() { console.log(this); z(x => console.log(x, this)); }
> ok 9163 no-invalid-this valid Ctor = function() { console.log(this); z(x => console.log(x, this)); }
> ok 9164 no-invalid-this valid "use strict"; Ctor = function() { console.log(this); z(x => console.log(x, this)); }
> ok 9165 no-invalid-this valid /* implied strict mode */ Ctor = function() { console.log(this); z(x => console.log(x, this)); }
> ok 9166 no-invalid-this valid /* modules */ Ctor = function() { console.log(this); z(x => console.log(x, this)); }
> ok 9167 no-invalid-this valid func = function() { console.log(this); z(x => console.log(x, this)); }
> ok 9168 no-invalid-this valid function foo(Ctor = function() { console.log(this); z(x => console.log(x, this)); }) {}
> ok 9169 no-invalid-this valid "use strict"; function foo(Ctor = function() { console.log(this); z(x => console.log(x, this)); }) {}
> ok 9170 no-invalid-this valid /* implied strict mode */ function foo(Ctor = function() { console.log(this); z(x => console.log(x, this)); }) {}
> ok 9171 no-invalid-this valid /* modules */ function foo(Ctor = function() { console.log(this); z(x => console.log(x, this)); }) {}
> ok 9172 no-invalid-this valid function foo(func = function() { console.log(this); z(x => console.log(x, this)); }) {}
> ok 9173 no-invalid-this valid [obj.method = function() { console.log(this); z(x => console.log(x, this)); }] = a
> ok 9174 no-invalid-this valid "use strict"; [obj.method = function() { console.log(this); z(x => console.log(x, this)); }] = a
> ok 9175 no-invalid-this valid /* implied strict mode */ [obj.method = function() { console.log(this); z(x => console.log(x, this)); }] = a
> ok 9176 no-invalid-this valid /* modules */ [obj.method = function() { console.log(this); z(x => console.log(x, this)); }] = a
> ok 9177 no-invalid-this valid [func = function() { console.log(this); z(x => console.log(x, this)); }] = a
> ok 9178 no-invalid-this invalid "use strict"; console.log(this); z(x => console.log(x, this)); /* should error */
> ok 9179 no-invalid-this invalid /* implied strict mode */ console.log(this); z(x => console.log(x, this)); /* should error */
> ok 9180 no-invalid-this invalid /* modules */ console.log(this); z(x => console.log(x, this)); /* should error */
> ok 9181 no-invalid-this invalid "use strict"; console.log(this); z(x => console.log(x, this)); /* should error */
> ok 9182 no-invalid-this invalid /* implied strict mode */ console.log(this); z(x => console.log(x, this)); /* should error */
> ok 9183 no-invalid-this invalid /* modules */ console.log(this); z(x => console.log(x, this)); /* should error */
> ok 9184 no-invalid-this invalid "use strict"; (function() { console.log(this); z(x => console.log(x, this)); })(); /* should error */
> ok 9185 no-invalid-this invalid /* implied strict mode */ (function() { console.log(this); z(x => console.log(x, this)); })(); /* should error */
> ok 9186 no-invalid-this invalid /* modules */ (function() { console.log(this); z(x => console.log(x, this)); })(); /* should error */
> ok 9187 no-invalid-this invalid "use strict"; function foo() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9188 no-invalid-this invalid /* implied strict mode */ function foo() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9189 no-invalid-this invalid /* modules */ function foo() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9190 no-invalid-this invalid function foo() { "use strict"; console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9191 no-invalid-this invalid "use strict"; function foo() { "use strict"; console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9192 no-invalid-this invalid /* implied strict mode */ function foo() { "use strict"; console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9193 no-invalid-this invalid /* modules */ function foo() { "use strict"; console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9194 no-invalid-this invalid "use strict"; return function() { console.log(this); z(x => console.log(x, this)); }; /* should error */
> ok 9195 no-invalid-this invalid /* implied strict mode */ return function() { console.log(this); z(x => console.log(x, this)); }; /* should error */
> ok 9196 no-invalid-this invalid "use strict"; var foo = (function() { console.log(this); z(x => console.log(x, this)); }).bar(obj); /* should error */
> ok 9197 no-invalid-this invalid /* implied strict mode */ var foo = (function() { console.log(this); z(x => console.log(x, this)); }).bar(obj); /* should error */
> ok 9198 no-invalid-this invalid /* modules */ var foo = (function() { console.log(this); z(x => console.log(x, this)); }).bar(obj); /* should error */
> ok 9199 no-invalid-this invalid "use strict"; var obj = {foo: function() { function foo() { console.log(this); z(x => console.log(x, this)); } foo(); }}; /* should error */
> ok 9200 no-invalid-this invalid /* implied strict mode */ var obj = {foo: function() { function foo() { console.log(this); z(x => console.log(x, this)); } foo(); }}; /* should error */
> ok 9201 no-invalid-this invalid /* modules */ var obj = {foo: function() { function foo() { console.log(this); z(x => console.log(x, this)); } foo(); }}; /* should error */
> ok 9202 no-invalid-this invalid "use strict"; var obj = {foo() { function foo() { console.log(this); z(x => console.log(x, this)); } foo(); }}; /* should error */
> ok 9203 no-invalid-this invalid /* implied strict mode */ var obj = {foo() { function foo() { console.log(this); z(x => console.log(x, this)); } foo(); }}; /* should error */
> ok 9204 no-invalid-this invalid /* modules */ var obj = {foo() { function foo() { console.log(this); z(x => console.log(x, this)); } foo(); }}; /* should error */
> ok 9205 no-invalid-this invalid "use strict"; var obj = {foo: function() { return function() { console.log(this); z(x => console.log(x, this)); }; }}; /* should error */
> ok 9206 no-invalid-this invalid /* implied strict mode */ var obj = {foo: function() { return function() { console.log(this); z(x => console.log(x, this)); }; }}; /* should error */
> ok 9207 no-invalid-this invalid /* modules */ var obj = {foo: function() { return function() { console.log(this); z(x => console.log(x, this)); }; }}; /* should error */
> ok 9208 no-invalid-this invalid var obj = {foo: function() { "use strict"; return function() { console.log(this); z(x => console.log(x, this)); }; }}; /* should error */
> ok 9209 no-invalid-this invalid "use strict"; var obj = {foo: function() { "use strict"; return function() { console.log(this); z(x => console.log(x, this)); }; }}; /* should error */
> ok 9210 no-invalid-this invalid /* implied strict mode */ var obj = {foo: function() { "use strict"; return function() { console.log(this); z(x => console.log(x, this)); }; }}; /* should error */
> ok 9211 no-invalid-this invalid /* modules */ var obj = {foo: function() { "use strict"; return function() { console.log(this); z(x => console.log(x, this)); }; }}; /* should error */
> ok 9212 no-invalid-this invalid "use strict"; obj.foo = function() { return function() { console.log(this); z(x => console.log(x, this)); }; }; /* should error */
> ok 9213 no-invalid-this invalid /* implied strict mode */ obj.foo = function() { return function() { console.log(this); z(x => console.log(x, this)); }; }; /* should error */
> ok 9214 no-invalid-this invalid /* modules */ obj.foo = function() { return function() { console.log(this); z(x => console.log(x, this)); }; }; /* should error */
> ok 9215 no-invalid-this invalid obj.foo = function() { "use strict"; return function() { console.log(this); z(x => console.log(x, this)); }; }; /* should error */
> ok 9216 no-invalid-this invalid "use strict"; obj.foo = function() { "use strict"; return function() { console.log(this); z(x => console.log(x, this)); }; }; /* should error */
> ok 9217 no-invalid-this invalid /* implied strict mode */ obj.foo = function() { "use strict"; return function() { console.log(this); z(x => console.log(x, this)); }; }; /* should error */
> ok 9218 no-invalid-this invalid /* modules */ obj.foo = function() { "use strict"; return function() { console.log(this); z(x => console.log(x, this)); }; }; /* should error */
> ok 9219 no-invalid-this invalid class A { foo() { return function() { console.log(this); z(x => console.log(x, this)); }; } } /* should error */
> ok 9220 no-invalid-this invalid "use strict"; class A { foo() { return function() { console.log(this); z(x => console.log(x, this)); }; } } /* should error */
> ok 9221 no-invalid-this invalid /* implied strict mode */ class A { foo() { return function() { console.log(this); z(x => console.log(x, this)); }; } } /* should error */
> ok 9222 no-invalid-this invalid /* modules */ class A { foo() { return function() { console.log(this); z(x => console.log(x, this)); }; } } /* should error */
> ok 9223 no-invalid-this invalid "use strict"; obj.foo = (function() { return () => { console.log(this); z(x => console.log(x, this)); }; })(); /* should error */
> ok 9224 no-invalid-this invalid /* implied strict mode */ obj.foo = (function() { return () => { console.log(this); z(x => console.log(x, this)); }; })(); /* should error */
> ok 9225 no-invalid-this invalid /* modules */ obj.foo = (function() { return () => { console.log(this); z(x => console.log(x, this)); }; })(); /* should error */
> ok 9226 no-invalid-this invalid "use strict"; obj.foo = (() => () => { console.log(this); z(x => console.log(x, this)); })(); /* should error */
> ok 9227 no-invalid-this invalid /* implied strict mode */ obj.foo = (() => () => { console.log(this); z(x => console.log(x, this)); })(); /* should error */
> ok 9228 no-invalid-this invalid /* modules */ obj.foo = (() => () => { console.log(this); z(x => console.log(x, this)); })(); /* should error */
> ok 9229 no-invalid-this invalid "use strict"; var foo = function() { console.log(this); z(x => console.log(x, this)); }.bind(null); /* should error */
> ok 9230 no-invalid-this invalid /* implied strict mode */ var foo = function() { console.log(this); z(x => console.log(x, this)); }.bind(null); /* should error */
> ok 9231 no-invalid-this invalid /* modules */ var foo = function() { console.log(this); z(x => console.log(x, this)); }.bind(null); /* should error */
> ok 9232 no-invalid-this invalid "use strict"; (function() { console.log(this); z(x => console.log(x, this)); }).call(undefined); /* should error */
> ok 9233 no-invalid-this invalid /* implied strict mode */ (function() { console.log(this); z(x => console.log(x, this)); }).call(undefined); /* should error */
> ok 9234 no-invalid-this invalid /* modules */ (function() { console.log(this); z(x => console.log(x, this)); }).call(undefined); /* should error */
> ok 9235 no-invalid-this invalid "use strict"; (function() { console.log(this); z(x => console.log(x, this)); }).apply(void 0); /* should error */
> ok 9236 no-invalid-this invalid /* implied strict mode */ (function() { console.log(this); z(x => console.log(x, this)); }).apply(void 0); /* should error */
> ok 9237 no-invalid-this invalid /* modules */ (function() { console.log(this); z(x => console.log(x, this)); }).apply(void 0); /* should error */
> ok 9238 no-invalid-this invalid "use strict"; Array.from([], function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9239 no-invalid-this invalid /* implied strict mode */ Array.from([], function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9240 no-invalid-this invalid /* modules */ Array.from([], function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9241 no-invalid-this invalid "use strict"; foo.every(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9242 no-invalid-this invalid /* implied strict mode */ foo.every(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9243 no-invalid-this invalid /* modules */ foo.every(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9244 no-invalid-this invalid "use strict"; foo.filter(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9245 no-invalid-this invalid /* implied strict mode */ foo.filter(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9246 no-invalid-this invalid /* modules */ foo.filter(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9247 no-invalid-this invalid "use strict"; foo.find(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9248 no-invalid-this invalid /* implied strict mode */ foo.find(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9249 no-invalid-this invalid /* modules */ foo.find(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9250 no-invalid-this invalid "use strict"; foo.findIndex(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9251 no-invalid-this invalid /* implied strict mode */ foo.findIndex(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9252 no-invalid-this invalid /* modules */ foo.findIndex(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9253 no-invalid-this invalid "use strict"; foo.forEach(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9254 no-invalid-this invalid /* implied strict mode */ foo.forEach(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9255 no-invalid-this invalid /* modules */ foo.forEach(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9256 no-invalid-this invalid "use strict"; foo.map(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9257 no-invalid-this invalid /* implied strict mode */ foo.map(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9258 no-invalid-this invalid /* modules */ foo.map(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9259 no-invalid-this invalid "use strict"; foo.some(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9260 no-invalid-this invalid /* implied strict mode */ foo.some(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9261 no-invalid-this invalid /* modules */ foo.some(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9262 no-invalid-this invalid "use strict"; foo.forEach(function() { console.log(this); z(x => console.log(x, this)); }, null); /* should error */
> ok 9263 no-invalid-this invalid /* implied strict mode */ foo.forEach(function() { console.log(this); z(x => console.log(x, this)); }, null); /* should error */
> ok 9264 no-invalid-this invalid /* modules */ foo.forEach(function() { console.log(this); z(x => console.log(x, this)); }, null); /* should error */
> ok 9265 no-invalid-this invalid "use strict"; /** @returns {void} */ function foo() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9266 no-invalid-this invalid /* implied strict mode */ /** @returns {void} */ function foo() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9267 no-invalid-this invalid /* modules */ /** @returns {void} */ function foo() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9268 no-invalid-this invalid "use strict"; /** @this Obj */ foo(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9269 no-invalid-this invalid /* implied strict mode */ /** @this Obj */ foo(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9270 no-invalid-this invalid /* modules */ /** @this Obj */ foo(function() { console.log(this); z(x => console.log(x, this)); }); /* should error */
> ok 9271 no-invalid-this invalid "use strict"; function foo() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9272 no-invalid-this invalid /* implied strict mode */ function foo() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9273 no-invalid-this invalid /* modules */ function foo() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9274 no-invalid-this invalid "use strict"; var func = function() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9275 no-invalid-this invalid /* implied strict mode */ var func = function() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9276 no-invalid-this invalid /* modules */ var func = function() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9277 no-invalid-this invalid "use strict"; func = function() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9278 no-invalid-this invalid /* implied strict mode */ func = function() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9279 no-invalid-this invalid /* modules */ func = function() { console.log(this); z(x => console.log(x, this)); } /* should error */
> ok 9280 no-invalid-this invalid "use strict"; function foo(func = function() { console.log(this); z(x => console.log(x, this)); }) {} /* should error */
> ok 9281 no-invalid-this invalid /* implied strict mode */ function foo(func = function() { console.log(this); z(x => console.log(x, this)); }) {} /* should error */
> ok 9282 no-invalid-this invalid /* modules */ function foo(func = function() { console.log(this); z(x => console.log(x, this)); }) {} /* should error */
> ok 9283 no-invalid-this invalid "use strict"; [func = function() { console.log(this); z(x => console.log(x, this)); }] = a /* should error */
> ok 9284 no-invalid-this invalid /* implied strict mode */ [func = function() { console.log(this); z(x => console.log(x, this)); }] = a /* should error */
> ok 9285 no-invalid-this invalid /* modules */ [func = function() { console.log(this); z(x => console.log(x, this)); }] = a /* should error */
> ok 9286 no-irregular-whitespace valid '\u000B';
> ok 9287 no-irregular-whitespace valid '\u000C';
> ok 9288 no-irregular-whitespace valid '\u0085';
> ok 9289 no-irregular-whitespace valid '\u00A0';
> ok 9290 no-irregular-whitespace valid '\u180E';
> ok 9291 no-irregular-whitespace valid '\ufeff';
> ok 9292 no-irregular-whitespace valid '\u2000';
> ok 9293 no-irregular-whitespace valid '\u2001';
> ok 9294 no-irregular-whitespace valid '\u2002';
> ok 9295 no-irregular-whitespace valid '\u2003';
> ok 9296 no-irregular-whitespace valid '\u2004';
> ok 9297 no-irregular-whitespace valid '\u2005';
> ok 9298 no-irregular-whitespace valid '\u2006';
> ok 9299 no-irregular-whitespace valid '\u2007';
> ok 9300 no-irregular-whitespace valid '\u2008';
> ok 9301 no-irregular-whitespace valid '\u2009';
> ok 9302 no-irregular-whitespace valid '\u200A';
> ok 9303 no-irregular-whitespace valid '\u200B';
> ok 9304 no-irregular-whitespace valid '\u2028';
> ok 9305 no-irregular-whitespace valid '\u2029';
> ok 9306 no-irregular-whitespace valid '\u202F';
> ok 9307 no-irregular-whitespace valid '\u205f';
> ok 9308 no-irregular-whitespace valid '\u3000';
> ok 9309 no-irregular-whitespace valid '';
> ok 9310 no-irregular-whitespace valid '';
> ok 9311 no-irregular-whitespace valid '…';
> ok 9312 no-irregular-whitespace valid ' ';
> ok 9313 no-irregular-whitespace valid '᠎';
> ok 9314 no-irregular-whitespace valid '';
> ok 9315 no-irregular-whitespace valid ' ';
> ok 9316 no-irregular-whitespace valid ' ';
> ok 9317 no-irregular-whitespace valid ' ';
> ok 9318 no-irregular-whitespace valid ' ';
> ok 9319 no-irregular-whitespace valid ' ';
> ok 9320 no-irregular-whitespace valid ' ';
> ok 9321 no-irregular-whitespace valid ' ';
> ok 9322 no-irregular-whitespace valid ' ';
> ok 9323 no-irregular-whitespace valid ' ';
> ok 9324 no-irregular-whitespace valid ' ';
> ok 9325 no-irregular-whitespace valid ' ';
> ok 9326 no-irregular-whitespace valid '​';
> ok 9327 no-irregular-whitespace valid '\
';
> ok 9328 no-irregular-whitespace valid '\
';
> ok 9329 no-irregular-whitespace valid ' ';
> ok 9330 no-irregular-whitespace valid ' ';
> ok 9331 no-irregular-whitespace valid ' ';
> ok 9332 no-irregular-whitespace valid // 
> ok 9333 no-irregular-whitespace valid // 
> ok 9334 no-irregular-whitespace valid // …
> ok 9335 no-irregular-whitespace valid //  
> ok 9336 no-irregular-whitespace valid // ᠎
> ok 9337 no-irregular-whitespace valid // 
> ok 9338 no-irregular-whitespace valid //  
> ok 9339 no-irregular-whitespace valid //  
> ok 9340 no-irregular-whitespace valid //  
> ok 9341 no-irregular-whitespace valid //  
> ok 9342 no-irregular-whitespace valid //  
> ok 9343 no-irregular-whitespace valid //  
> ok 9344 no-irregular-whitespace valid //  
> ok 9345 no-irregular-whitespace valid //  
> ok 9346 no-irregular-whitespace valid //  
> ok 9347 no-irregular-whitespace valid //  
> ok 9348 no-irregular-whitespace valid //  
> ok 9349 no-irregular-whitespace valid // ​
> ok 9350 no-irregular-whitespace valid //  
> ok 9351 no-irregular-whitespace valid //  
> ok 9352 no-irregular-whitespace valid //  
> ok 9353 no-irregular-whitespace valid /*  */
> ok 9354 no-irregular-whitespace valid /*  */
> ok 9355 no-irregular-whitespace valid /* … */
> ok 9356 no-irregular-whitespace valid /*   */
> ok 9357 no-irregular-whitespace valid /* ᠎ */
> ok 9358 no-irregular-whitespace valid /*  */
> ok 9359 no-irregular-whitespace valid /*   */
> ok 9360 no-irregular-whitespace valid /*   */
> ok 9361 no-irregular-whitespace valid /*   */
> ok 9362 no-irregular-whitespace valid /*   */
> ok 9363 no-irregular-whitespace valid /*   */
> ok 9364 no-irregular-whitespace valid /*   */
> ok 9365 no-irregular-whitespace valid /*   */
> ok 9366 no-irregular-whitespace valid /*   */
> ok 9367 no-irregular-whitespace valid /*   */
> ok 9368 no-irregular-whitespace valid /*   */
> ok 9369 no-irregular-whitespace valid /*   */
> ok 9370 no-irregular-whitespace valid /* ​ */
> ok 9371 no-irregular-whitespace valid /* 
 */
> ok 9372 no-irregular-whitespace valid /* 
 */
> ok 9373 no-irregular-whitespace valid /*   */
> ok 9374 no-irregular-whitespace valid /*   */
> ok 9375 no-irregular-whitespace valid /*   */
> ok 9376 no-irregular-whitespace valid //
> ok 9377 no-irregular-whitespace valid //
> ok 9378 no-irregular-whitespace valid /…/
> ok 9379 no-irregular-whitespace valid / /
> ok 9380 no-irregular-whitespace valid /᠎/
> ok 9381 no-irregular-whitespace valid //
> ok 9382 no-irregular-whitespace valid / /
> ok 9383 no-irregular-whitespace valid / /
> ok 9384 no-irregular-whitespace valid / /
> ok 9385 no-irregular-whitespace valid / /
> ok 9386 no-irregular-whitespace valid / /
> ok 9387 no-irregular-whitespace valid / /
> ok 9388 no-irregular-whitespace valid / /
> ok 9389 no-irregular-whitespace valid / /
> ok 9390 no-irregular-whitespace valid / /
> ok 9391 no-irregular-whitespace valid / /
> ok 9392 no-irregular-whitespace valid / /
> ok 9393 no-irregular-whitespace valid /​/
> ok 9394 no-irregular-whitespace valid / /
> ok 9395 no-irregular-whitespace valid / /
> ok 9396 no-irregular-whitespace valid / /
> ok 9397 no-irregular-whitespace valid ``
> ok 9398 no-irregular-whitespace valid ``
> ok 9399 no-irregular-whitespace valid `…`
> ok 9400 no-irregular-whitespace valid ` `
> ok 9401 no-irregular-whitespace valid `᠎`
> ok 9402 no-irregular-whitespace valid ``
> ok 9403 no-irregular-whitespace valid ` `
> ok 9404 no-irregular-whitespace valid ` `
> ok 9405 no-irregular-whitespace valid ` `
> ok 9406 no-irregular-whitespace valid ` `
> ok 9407 no-irregular-whitespace valid ` `
> ok 9408 no-irregular-whitespace valid ` `
> ok 9409 no-irregular-whitespace valid ` `
> ok 9410 no-irregular-whitespace valid ` `
> ok 9411 no-irregular-whitespace valid ` `
> ok 9412 no-irregular-whitespace valid ` `
> ok 9413 no-irregular-whitespace valid ` `
> ok 9414 no-irregular-whitespace valid `​`
> ok 9415 no-irregular-whitespace valid ` `
> ok 9416 no-irregular-whitespace valid ` `
> ok 9417 no-irregular-whitespace valid ` `
> ok 9418 no-irregular-whitespace valid console.log('hello BOM');
> ok 9419 no-irregular-whitespace invalid var any  = 'thing';
> ok 9420 no-irregular-whitespace invalid var any  = 'thing';
> ok 9421 no-irregular-whitespace invalid var any   = 'thing';
> ok 9422 no-irregular-whitespace invalid var any  = 'thing';
> ok 9423 no-irregular-whitespace invalid var any   = 'thing';
> ok 9424 no-irregular-whitespace invalid var any   = 'thing';
> ok 9425 no-irregular-whitespace invalid var any   = 'thing';
> ok 9426 no-irregular-whitespace invalid var any   = 'thing';
> ok 9427 no-irregular-whitespace invalid var any   = 'thing';
> ok 9428 no-irregular-whitespace invalid var any   = 'thing';
> ok 9429 no-irregular-whitespace invalid var any   = 'thing';
> ok 9430 no-irregular-whitespace invalid var any   = 'thing';
> ok 9431 no-irregular-whitespace invalid var any   = 'thing';
> ok 9432 no-irregular-whitespace invalid var any   = 'thing';
> ok 9433 no-irregular-whitespace invalid var any   = 'thing';
> ok 9434 no-irregular-whitespace invalid var any 
 = 'thing';
> ok 9435 no-irregular-whitespace invalid var any 
 = 'thing';
> ok 9436 no-irregular-whitespace invalid var any   = 'thing';
> ok 9437 no-irregular-whitespace invalid var any   = 'thing';
> ok 9438 no-irregular-whitespace invalid var any   = 'thing';
> ok 9439 no-irregular-whitespace invalid var a = 'b',
c = 'd',
> e = 'f'

> ok 9440 no-irregular-whitespace invalid var any   = 'thing', other   = 'thing';
> var third   = 'thing';
> ok 9441 no-irregular-whitespace invalid // 
> ok 9442 no-irregular-whitespace invalid // 
> ok 9443 no-irregular-whitespace invalid // …
> ok 9444 no-irregular-whitespace invalid //  
> ok 9445 no-irregular-whitespace invalid // ᠎
> ok 9446 no-irregular-whitespace invalid // 
> ok 9447 no-irregular-whitespace invalid //  
> ok 9448 no-irregular-whitespace invalid //  
> ok 9449 no-irregular-whitespace invalid //  
> ok 9450 no-irregular-whitespace invalid //  
> ok 9451 no-irregular-whitespace invalid //  
> ok 9452 no-irregular-whitespace invalid //  
> ok 9453 no-irregular-whitespace invalid //  
> ok 9454 no-irregular-whitespace invalid //  
> ok 9455 no-irregular-whitespace invalid //  
> ok 9456 no-irregular-whitespace invalid //  
> ok 9457 no-irregular-whitespace invalid //  
> ok 9458 no-irregular-whitespace invalid // ​
> ok 9459 no-irregular-whitespace invalid //  
> ok 9460 no-irregular-whitespace invalid //  
> ok 9461 no-irregular-whitespace invalid //  
> ok 9462 no-irregular-whitespace invalid /*  */
> ok 9463 no-irregular-whitespace invalid /*  */
> ok 9464 no-irregular-whitespace invalid /* … */
> ok 9465 no-irregular-whitespace invalid /*   */
> ok 9466 no-irregular-whitespace invalid /* ᠎ */
> ok 9467 no-irregular-whitespace invalid /*  */
> ok 9468 no-irregular-whitespace invalid /*   */
> ok 9469 no-irregular-whitespace invalid /*   */
> ok 9470 no-irregular-whitespace invalid /*   */
> ok 9471 no-irregular-whitespace invalid /*   */
> ok 9472 no-irregular-whitespace invalid /*   */
> ok 9473 no-irregular-whitespace invalid /*   */
> ok 9474 no-irregular-whitespace invalid /*   */
> ok 9475 no-irregular-whitespace invalid /*   */
> ok 9476 no-irregular-whitespace invalid /*   */
> ok 9477 no-irregular-whitespace invalid /*   */
> ok 9478 no-irregular-whitespace invalid /*   */
> ok 9479 no-irregular-whitespace invalid /* ​ */
> ok 9480 no-irregular-whitespace invalid /* 
 */
> ok 9481 no-irregular-whitespace invalid /* 
 */
> ok 9482 no-irregular-whitespace invalid /*   */
> ok 9483 no-irregular-whitespace invalid /*   */
> ok 9484 no-irregular-whitespace invalid /*   */
> ok 9485 no-irregular-whitespace invalid var any = / /, other = //;
> ok 9486 no-irregular-whitespace invalid var any = ' ', other = '';
> ok 9487 no-irregular-whitespace invalid var any = ` `, other = ``;
> ok 9488 no-irregular-whitespace invalid `something ${  10} another thing`
> ok 9489 no-iterator valid var a = test[__iterator__];
> ok 9490 no-iterator valid var __iterator__ = null;
> ok 9491 no-iterator invalid var a = test.__iterator__;
> ok 9492 no-iterator invalid Foo.prototype.__iterator__ = function() {};
> ok 9493 no-iterator invalid var a = test['__iterator__'];
> ok 9494 no-label-var valid function bar() { q: for(;;) { break q; } } function foo () { var q = t; }
> ok 9495 no-label-var valid function bar() { var x = foo; q: for(;;) { break q; } }
> ok 9496 no-label-var invalid var x = foo; function bar() { x: for(;;) { break x; } }
> ok 9497 no-label-var invalid function bar() { var x = foo; x: for(;;) { break x; } }
> ok 9498 no-label-var invalid function bar(x) { x: for(;;) { break x; } }
> ok 9499 no-labels valid var f = { label: foo ()}
> ok 9500 no-labels valid while (true) {}
> ok 9501 no-labels valid while (true) { break; }
> ok 9502 no-labels valid while (true) { continue; }
> ok 9503 no-labels valid A: while (a) { break A; }
> ok 9504 no-labels valid A: do { if (b) { break A; } } while (a);
> ok 9505 no-labels valid A: for (var a in obj) { for (;;) { switch (a) { case 0: continue A; } } }
> ok 9506 no-labels valid A: switch (a) { case 0: break A; }
> ok 9507 no-labels invalid label: while(true) {}
> ok 9508 no-labels invalid label: while (true) { break label; }
> ok 9509 no-labels invalid label: while (true) { continue label; }
> ok 9510 no-labels invalid A: var foo = 0;
> ok 9511 no-labels invalid A: break A;
> ok 9512 no-labels invalid A: { if (foo()) { break A; } bar(); };
> ok 9513 no-labels invalid A: if (a) { if (foo()) { break A; } bar(); };
> ok 9514 no-labels invalid A: switch (a) { case 0: break A; default: break; };
> ok 9515 no-labels invalid A: switch (a) { case 0: B: { break A; } default: break; };
> ok 9516 no-labels invalid A: var foo = 0;
> ok 9517 no-labels invalid A: break A;
> ok 9518 no-labels invalid A: { if (foo()) { break A; } bar(); };
> ok 9519 no-labels invalid A: if (a) { if (foo()) { break A; } bar(); };
> ok 9520 no-labels invalid A: switch (a) { case 0: break A; default: break; };
> ok 9521 no-labels invalid A: var foo = 0;
> ok 9522 no-labels invalid A: break A;
> ok 9523 no-labels invalid A: { if (foo()) { break A; } bar(); };
> ok 9524 no-labels invalid A: if (a) { if (foo()) { break A; } bar(); };
> ok 9525 no-labels invalid A: while (a) { break A; }
> ok 9526 no-labels invalid A: do { if (b) { break A; } } while (a);
> ok 9527 no-labels invalid A: for (var a in obj) { for (;;) { switch (a) { case 0: break A; } } }
> ok 9528 no-lone-blocks valid if (foo) { if (bar) { baz(); } }
> ok 9529 no-lone-blocks valid do { bar(); } while (foo)
> ok 9530 no-lone-blocks valid function foo() { while (bar) { baz() } }
> ok 9531 no-lone-blocks valid { let x = 1; }
> ok 9532 no-lone-blocks valid { const x = 1; }
> ok 9533 no-lone-blocks valid 'use strict'; { function bar() {} }
> ok 9534 no-lone-blocks valid { function bar() {} }
> ok 9535 no-lone-blocks valid { class Bar {} }
> ok 9536 no-lone-blocks valid { {let y = 1;} let x = 1; }
> ok 9537 no-lone-blocks valid 
>           switch (foo) {
>             case bar: {
>               baz;
>             }
>           }
>         
> ok 9538 no-lone-blocks valid 
>           switch (foo) {
>             case bar: {
>               baz;
>             }
>             case qux: {
>               boop;
>             }
>           }
>         
> ok 9539 no-lone-blocks valid 
>           switch (foo) {
>             case bar:
>             {
>               baz;
>             }
>           }
>         
> ok 9540 no-lone-blocks invalid {}
> ok 9541 no-lone-blocks invalid {var x = 1;}
> ok 9542 no-lone-blocks invalid foo(); {} bar();
> ok 9543 no-lone-blocks invalid if (foo) { bar(); {} baz(); }
> ok 9544 no-lone-blocks invalid { 
> { } }
> ok 9545 no-lone-blocks invalid function foo() { bar(); {} baz(); }
> ok 9546 no-lone-blocks invalid while (foo) { {} }
> ok 9547 no-lone-blocks invalid { function bar() {} }
> ok 9548 no-lone-blocks invalid {var x = 1;}
> ok 9549 no-lone-blocks invalid { 
> {var x = 1;}
>  let y = 2; } {let z = 1;}
> ok 9550 no-lone-blocks invalid { 
> {let x = 1;}
>  var y = 2; } {let z = 1;}
> ok 9551 no-lone-blocks invalid { 
> {var x = 1;}
>  var y = 2; }
>  {var z = 1;}
> ok 9552 no-lone-blocks invalid 
>               switch (foo) {
>                 case 1:
>                     foo();
>                     {
>                         bar;
>                     }
>               }
>             
> ok 9553 no-lone-blocks invalid 
>               switch (foo) {
>                 case 1:
>                 {
>                     bar;
>                 }
>                 foo();
>               }
>             
> ok 9554 no-lonely-if valid if (a) {;} else if (b) {;}
> ok 9555 no-lonely-if valid if (a) {;} else { if (b) {;} ; }
> ok 9556 no-lonely-if invalid if (a) {;} else { if (b) {;} }
> ok 9557 no-lonely-if invalid if (a) {
>   foo();
> } else {
>   if (b) {
>     bar();
>   }
> }
> ok 9558 no-lonely-if invalid if (a) {
>   foo();
> } else /* comment */ {
>   if (b) {
>     bar();
>   }
> }
> ok 9559 no-lonely-if invalid if (a) {
>   foo();
> } else {
>   /* otherwise, do the other thing */ if (b) {
>     bar();
>   }
> }
> ok 9560 no-lonely-if invalid if (a) {
>   foo();
> } else {
>   if /* this comment is ok */ (b) {
>     bar();
>   }
> }
> ok 9561 no-lonely-if invalid if (a) {
>   foo();
> } else {
>   if (b) {
>     bar();
>   } /* this comment will prevent this test case from being autofixed. */
> }
> ok 9562 no-lonely-if invalid if (foo) {} else { if (bar) baz(); }
> ok 9563 no-lonely-if invalid if (foo) {} else { if (bar) baz() } qux();
> ok 9564 no-lonely-if invalid if (foo) {} else { if (bar) baz(); } qux();
> ok 9565 no-lonely-if invalid if (foo) {
> } else {
>   if (bar) baz()
> }
> [1, 2, 3].forEach(foo);
> ok 9566 no-lonely-if invalid if (foo) {
> } else {
>   if (bar) baz++
> }
> foo;
> ok 9567 no-lonely-if invalid if (foo) {
> } else {
>   if (bar) baz++;
> }
> foo;
> ok 9568 no-lonely-if invalid if (a) {
>   foo();
> } else {
>   if (b) bar()
> }
> `template literal`;
> ok 9569 no-lonely-if invalid if (a) {
>   foo();
> } else {
>   if (b) {
>     bar();
>   } else if (c) {
>     baz();
>   } else {
>     qux();
>   }
> }
> ok 9570 no-loop-func valid string = 'function a() {}';
> ok 9571 no-loop-func valid for (var i=0; i<l; i++) { } var a = function() { i; };
> ok 9572 no-loop-func valid for (var i=0, a=function() { i; }; i<l; i++) { }
> ok 9573 no-loop-func valid for (var x in xs.filter(function(x) { return x != upper; })) { }
> ok 9574 no-loop-func valid for (var x of xs.filter(function(x) { return x != upper; })) { }
> ok 9575 no-loop-func valid for (var i=0; i<l; i++) { (function() {}) }
> ok 9576 no-loop-func valid for (var i in {}) { (function() {}) }
> ok 9577 no-loop-func valid for (var i of {}) { (function() {}) }
> ok 9578 no-loop-func valid for (let i=0; i<l; i++) { (function() { i; }) }
> ok 9579 no-loop-func valid for (let i in {}) { i = 7; (function() { i; }) }
> ok 9580 no-loop-func valid for (const i of {}) { (function() { i; }) }
> ok 9581 no-loop-func valid for (let i = 0; i < 10; ++i) { for (let x in xs.filter(x => x != i)) {  } }
> ok 9582 no-loop-func valid let a = 0; for (let i=0; i<l; i++) { (function() { a; }); }
> ok 9583 no-loop-func valid let a = 0; for (let i in {}) { (function() { a; }); }
> ok 9584 no-loop-func valid let a = 0; for (let i of {}) { (function() { a; }); }
> ok 9585 no-loop-func valid let a = 0; for (let i=0; i<l; i++) { (function() { (function() { a; }); }); }
> ok 9586 no-loop-func valid let a = 0; for (let i in {}) { function foo() { (function() { a; }); } }
> ok 9587 no-loop-func valid let a = 0; for (let i of {}) { (() => { (function() { a; }); }); }
> ok 9588 no-loop-func valid var a = 0; for (let i=0; i<l; i++) { (function() { a; }); }
> ok 9589 no-loop-func valid var a = 0; for (let i in {}) { (function() { a; }); }
> ok 9590 no-loop-func valid var a = 0; for (let i of {}) { (function() { a; }); }
> ok 9591 no-loop-func valid let result = {};
> for (const score in scores) {
>   const letters = scores[score];
>   letters.split('').forEach(letter => {
>     result[letter] = score;
>   });
> }
> result.__default = 6;
> ok 9592 no-loop-func valid while (true) {
>     (function() { a; });
> }
> let a;
> ok 9593 no-loop-func invalid for (var i=0; i<l; i++) { (function() { i; }) }
> ok 9594 no-loop-func invalid for (var i in {}) { (function() { i; }) }
> ok 9595 no-loop-func invalid for (var i of {}) { (function() { i; }) }
> ok 9596 no-loop-func invalid for (var i=0; i < l; i++) { (() => { i; }) }
> ok 9597 no-loop-func invalid for (var i=0; i < l; i++) { var a = function() { i; } }
> ok 9598 no-loop-func invalid for (var i=0; i < l; i++) { function a() { i; }; a(); }
> ok 9599 no-loop-func invalid for (var i=0; (function() { i; })(), i<l; i++) { }
> ok 9600 no-loop-func invalid for (var i=0; i<l; (function() { i; })(), i++) { }
> ok 9601 no-loop-func invalid while(i) { (function() { i; }) }
> ok 9602 no-loop-func invalid do { (function() { i; }) } while (i)
> ok 9603 no-loop-func invalid let a; for (let i=0; i<l; i++) { a = 1; (function() { a; });}
> ok 9604 no-loop-func invalid let a; for (let i in {}) { (function() { a; }); a = 1; }
> ok 9605 no-loop-func invalid let a; for (let i of {}) { (function() { a; }); } a = 1; 
> ok 9606 no-loop-func invalid let a; for (let i=0; i<l; i++) { (function() { (function() { a; }); }); a = 1; }
> ok 9607 no-loop-func invalid let a; for (let i in {}) { a = 1; function foo() { (function() { a; }); } }
> ok 9608 no-loop-func invalid let a; for (let i of {}) { (() => { (function() { a; }); }); } a = 1;
> ok 9609 no-loop-func invalid for (var i = 0; i < 10; ++i) { for (let x in xs.filter(x => x != i)) {  } }
> ok 9610 no-loop-func invalid for (let x of xs) { let a; for (let y of ys) { a = 1; (function() { a; }); } }
> ok 9611 no-loop-func invalid for (var x of xs) { for (let y of ys) { (function() { x; }); } }
> ok 9612 no-loop-func invalid for (var x of xs) { (function() { x; }); }
> ok 9613 no-loop-func invalid var a; for (let x of xs) { a = 1; (function() { a; }); }
> ok 9614 no-loop-func invalid var a; for (let x of xs) { (function() { a; }); a = 1; }
> ok 9615 no-loop-func invalid let a; function foo() { a = 10; } for (let x of xs) { (function() { a; }); } foo();
> ok 9616 no-loop-func invalid let a; function foo() { a = 10; for (let x of xs) { (function() { a; }); } } foo();
> ok 9617 no-magic-numbers valid var x = parseInt(y, 10);
> ok 9618 no-magic-numbers valid var x = parseInt(y, -10);
> ok 9619 no-magic-numbers valid var x = Number.parseInt(y, 10);
> ok 9620 no-magic-numbers valid const foo = 42;
> ok 9621 no-magic-numbers valid var foo = 42;
> ok 9622 no-magic-numbers valid var foo = -42;
> ok 9623 no-magic-numbers valid var foo = 0 + 1 - 2 + -2;
> ok 9624 no-magic-numbers valid var foo = 0 + 1 + 2 + 3 + 4;
> ok 9625 no-magic-numbers valid var foo = { bar:10 }
> ok 9626 no-magic-numbers valid setTimeout(function() {return 1;}, 0);
> ok 9627 no-magic-numbers valid var data = ['foo', 'bar', 'baz']; var third = data[3];
> ok 9628 no-magic-numbers valid var a = <input maxLength={10} />;
> ok 9629 no-magic-numbers valid var a = <div objectProp={{ test: 1}}></div>;
> ok 9630 no-magic-numbers invalid var foo = 42
> ok 9631 no-magic-numbers invalid var foo = 0 + 1;
> ok 9632 no-magic-numbers invalid a = a + 5;
> ok 9633 no-magic-numbers invalid a += 5;
> ok 9634 no-magic-numbers invalid var foo = 0 + 1 + -2 + 2;
> ok 9635 no-magic-numbers invalid var foo = 0 + 1 + 2;
> ok 9636 no-magic-numbers invalid var foo = { bar:10 }
> ok 9637 no-magic-numbers invalid console.log(0x1A + 0x02); console.log(071);
> ok 9638 no-magic-numbers invalid var stats = {avg: 42};
> ok 9639 no-magic-numbers invalid var colors = {}; colors.RED = 2; colors.YELLOW = 3; colors.BLUE = 4 + 5;
> ok 9640 no-magic-numbers invalid function getSecondsInMinute() {return 60;}
> ok 9641 no-magic-numbers invalid function getNegativeSecondsInMinute() {return -60;}
> ok 9642 no-magic-numbers invalid var Promise = require('bluebird');
> var MINUTE = 60;
> var HOUR = 3600;
> const DAY = 86400;
> var configObject = {
> key: 90,
> another: 10 * 10,
> 10: 'an "integer" key'
> };
> function getSecondsInDay() {
>  return 24 * HOUR;
> }
> function getMillisecondsInDay() {
> return (getSecondsInDay() *
> (1000)
> );
> }
> function callSetTimeoutZero(func) {
> setTimeout(func, 0);
> }
> function invokeInTen(func) {
> setTimeout(func, 10);
> }
> 
> ok 9643 no-magic-numbers invalid var data = ['foo', 'bar', 'baz']; var third = data[3];
> ok 9644 no-magic-numbers invalid var a = <div arrayProp={[1,2,3]}></div>;
> ok 9645 no-magic-numbers invalid var min, max, mean; min = 1; max = 10; mean = 4;
> ok 9646 no-misleading-character-class valid var r = /[👍]/u
> ok 9647 no-misleading-character-class valid var r = /[\uD83D\uDC4D]/u
> ok 9648 no-misleading-character-class valid var r = /[\u{1F44D}]/u
> ok 9649 no-misleading-character-class valid var r = /❇️/
> ok 9650 no-misleading-character-class valid var r = /Á/
> ok 9651 no-misleading-character-class valid var r = /[❇]/
> ok 9652 no-misleading-character-class valid var r = /👶🏻/
> ok 9653 no-misleading-character-class valid var r = /[👶]/u
> ok 9654 no-misleading-character-class valid var r = /🇯🇵/
> ok 9655 no-misleading-character-class valid var r = /[JP]/
> ok 9656 no-misleading-character-class valid var r = /👨‍👩‍👦/
> ok 9657 no-misleading-character-class valid var r = /[\uD83D]/
> ok 9658 no-misleading-character-class valid var r = /[\uDC4D]/
> ok 9659 no-misleading-character-class valid var r = /[\uD83D]/u
> ok 9660 no-misleading-character-class valid var r = /[\uDC4D]/u
> ok 9661 no-misleading-character-class valid var r = /[\u0301]/
> ok 9662 no-misleading-character-class valid var r = /[\uFE0F]/
> ok 9663 no-misleading-character-class valid var r = /[\u0301]/u
> ok 9664 no-misleading-character-class valid var r = /[\uFE0F]/u
> ok 9665 no-misleading-character-class valid var r = /[\u{1F3FB}]/u
> ok 9666 no-misleading-character-class valid var r = /[🏻]/u
> ok 9667 no-misleading-character-class valid var r = /[🇯]/u
> ok 9668 no-misleading-character-class valid var r = /[🇵]/u
> ok 9669 no-misleading-character-class valid var r = /[\u200D]/
> ok 9670 no-misleading-character-class valid var r = /[\u200D]/u
> ok 9671 no-misleading-character-class invalid var r = /[👍]/
> ok 9672 no-misleading-character-class invalid var r = /[\uD83D\uDC4D]/
> ok 9673 no-misleading-character-class invalid var r = /[Á]/
> ok 9674 no-misleading-character-class invalid var r = /[Á]/u
> ok 9675 no-misleading-character-class invalid var r = /[\u0041\u0301]/
> ok 9676 no-misleading-character-class invalid var r = /[\u0041\u0301]/u
> ok 9677 no-misleading-character-class invalid var r = /[\u{41}\u{301}]/u
> ok 9678 no-misleading-character-class invalid var r = /[❇️]/
> ok 9679 no-misleading-character-class invalid var r = /[❇️]/u
> ok 9680 no-misleading-character-class invalid var r = /[\u2747\uFE0F]/
> ok 9681 no-misleading-character-class invalid var r = /[\u2747\uFE0F]/u
> ok 9682 no-misleading-character-class invalid var r = /[\u{2747}\u{FE0F}]/u
> ok 9683 no-misleading-character-class invalid var r = /[👶🏻]/
> ok 9684 no-misleading-character-class invalid var r = /[👶🏻]/u
> ok 9685 no-misleading-character-class invalid var r = /[\uD83D\uDC76\uD83C\uDFFB]/u
> ok 9686 no-misleading-character-class invalid var r = /[\u{1F476}\u{1F3FB}]/u
> ok 9687 no-misleading-character-class invalid var r = /[🇯🇵]/
> ok 9688 no-misleading-character-class invalid var r = /[🇯🇵]/u
> ok 9689 no-misleading-character-class invalid var r = /[\uD83C\uDDEF\uD83C\uDDF5]/u
> ok 9690 no-misleading-character-class invalid var r = /[\u{1F1EF}\u{1F1F5}]/u
> ok 9691 no-misleading-character-class invalid var r = /[👨‍👩‍👦]/
> ok 9692 no-misleading-character-class invalid var r = /[👨‍👩‍👦]/u
> ok 9693 no-misleading-character-class invalid var r = /[\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC66]/u
> ok 9694 no-misleading-character-class invalid var r = /[\u{1F468}\u{200D}\u{1F469}\u{200D}\u{1F466}]/u
> ok 9695 no-misleading-character-class invalid var r = new RegExp("[👍]", "")
> ok 9696 no-misleading-character-class invalid var r = new RegExp("[\\uD83D\\uDC4D]", "")
> ok 9697 no-misleading-character-class invalid var r = new RegExp("[Á]", "")
> ok 9698 no-misleading-character-class invalid var r = new RegExp("[Á]", "u")
> ok 9699 no-misleading-character-class invalid var r = new RegExp("[\\u0041\\u0301]", "")
> ok 9700 no-misleading-character-class invalid var r = new RegExp("[\\u0041\\u0301]", "u")
> ok 9701 no-misleading-character-class invalid var r = new RegExp("[\\u{41}\\u{301}]", "u")
> ok 9702 no-misleading-character-class invalid var r = new RegExp("[❇️]", "")
> ok 9703 no-misleading-character-class invalid var r = new RegExp("[❇️]", "u")
> ok 9704 no-misleading-character-class invalid var r = new RegExp("[\\u2747\\uFE0F]", "")
> ok 9705 no-misleading-character-class invalid var r = new RegExp("[\\u2747\\uFE0F]", "u")
> ok 9706 no-misleading-character-class invalid var r = new RegExp("[\\u{2747}\\u{FE0F}]", "u")
> ok 9707 no-misleading-character-class invalid var r = new RegExp("[👶🏻]", "")
> ok 9708 no-misleading-character-class invalid var r = new RegExp("[👶🏻]", "u")
> ok 9709 no-misleading-character-class invalid var r = new RegExp("[\\uD83D\\uDC76\\uD83C\\uDFFB]", "u")
> ok 9710 no-misleading-character-class invalid var r = new RegExp("[\\u{1F476}\\u{1F3FB}]", "u")
> ok 9711 no-misleading-character-class invalid var r = new RegExp("[🇯🇵]", "")
> ok 9712 no-misleading-character-class invalid var r = new RegExp("[🇯🇵]", "u")
> ok 9713 no-misleading-character-class invalid var r = new RegExp("[\\uD83C\\uDDEF\\uD83C\\uDDF5]", "u")
> ok 9714 no-misleading-character-class invalid var r = new RegExp("[\\u{1F1EF}\\u{1F1F5}]", "u")
> ok 9715 no-misleading-character-class invalid var r = new RegExp("[👨‍👩‍👦]", "")
> ok 9716 no-misleading-character-class invalid var r = new RegExp("[👨‍👩‍👦]", "u")
> ok 9717 no-misleading-character-class invalid var r = new RegExp("[\\uD83D\\uDC68\\u200D\\uD83D\\uDC69\\u200D\\uD83D\\uDC66]", "u")
> ok 9718 no-misleading-character-class invalid var r = new RegExp("[\\u{1F468}\\u{200D}\\u{1F469}\\u{200D}\\u{1F466}]", "u")
> ok 9719 no-mixed-operators valid a && b && c && d
> ok 9720 no-mixed-operators valid a || b || c || d
> ok 9721 no-mixed-operators valid (a || b) && c && d
> ok 9722 no-mixed-operators valid a || (b && c && d)
> ok 9723 no-mixed-operators valid (a || b || c) && d
> ok 9724 no-mixed-operators valid a || b || (c && d)
> ok 9725 no-mixed-operators valid a + b + c + d
> ok 9726 no-mixed-operators valid a * b * c * d
> ok 9727 no-mixed-operators valid a == 0 && b == 1
> ok 9728 no-mixed-operators valid a == 0 || b == 1
> ok 9729 no-mixed-operators valid (a == 0) && (b == 1)
> ok 9730 no-mixed-operators valid a + b - c * d / e
> ok 9731 no-mixed-operators valid a + b - c
> ok 9732 no-mixed-operators valid a * b / c
> ok 9733 no-mixed-operators valid a + b - c
> ok 9734 no-mixed-operators valid a * b / c
> ok 9735 no-mixed-operators invalid a && b || c
> ok 9736 no-mixed-operators invalid a && b > 0 || c
> ok 9737 no-mixed-operators invalid a && b > 0 || c
> ok 9738 no-mixed-operators invalid a && b + c - d / e || f
> ok 9739 no-mixed-operators invalid a && b + c - d / e || f
> ok 9740 no-mixed-operators invalid a + b - c
> ok 9741 no-mixed-operators invalid a * b / c
> ok 9742 no-mixed-requires valid var a, b = 42, c = doStuff()
> ok 9743 no-mixed-requires valid var a = require(42), b = require(), c = require('y'), d = require(doStuff())
> ok 9744 no-mixed-requires valid var fs = require('fs'), foo = require('foo')
> ok 9745 no-mixed-requires valid var exec = require('child_process').exec, foo = require('foo')
> ok 9746 no-mixed-requires valid var fs = require('fs'), foo = require('./foo')
> ok 9747 no-mixed-requires valid var foo = require('foo'), foo2 = require('./foo')
> ok 9748 no-mixed-requires valid var emitter = require('events').EventEmitter, fs = require('fs')
> ok 9749 no-mixed-requires valid var foo = require(42), bar = require(getName())
> ok 9750 no-mixed-requires valid var foo = require(42), bar = require(getName())
> ok 9751 no-mixed-requires valid var fs = require('fs'), foo = require('./foo')
> ok 9752 no-mixed-requires valid var foo = require('foo'), bar = require(getName())
> ok 9753 no-mixed-requires valid var a;
> ok 9754 no-mixed-requires valid var async = require('async'), debug = require('diagnostics')('my-module')
> ok 9755 no-mixed-requires invalid var fs = require('fs'), foo = 42
> ok 9756 no-mixed-requires invalid var fs = require('fs'), foo
> ok 9757 no-mixed-requires invalid var a = require(42), b = require(), c = require('y'), d = require(doStuff())
> ok 9758 no-mixed-requires invalid var fs = require('fs'), foo = require('foo')
> ok 9759 no-mixed-requires invalid var fs = require('fs'), foo = require('foo')
> ok 9760 no-mixed-requires invalid var exec = require('child_process').exec, foo = require('foo')
> ok 9761 no-mixed-requires invalid var fs = require('fs'), foo = require('./foo')
> ok 9762 no-mixed-requires invalid var foo = require('foo'), foo2 = require('./foo')
> ok 9763 no-mixed-requires invalid var foo = require('foo'), bar = require(getName())
> ok 9764 no-mixed-requires invalid var async = require('async'), debug = require('diagnostics').someFun('my-module')
> ok 9765 no-mixed-spaces-and-tabs valid 	var x = 5;
> ok 9766 no-mixed-spaces-and-tabs valid     var x = 5;
> ok 9767 no-mixed-spaces-and-tabs valid 	/*
> 	 * Hello
> 	 */
> ok 9768 no-mixed-spaces-and-tabs valid // foo
> 	/**
> 	 * Hello
> 	 */
> ok 9769 no-mixed-spaces-and-tabs valid /*
> 
>  	 
> */
> ok 9770 no-mixed-spaces-and-tabs valid 	var x = 5,
> 	    y = 2;
> ok 9771 no-mixed-spaces-and-tabs valid /*
> 	 */`
> 	   `;
> ok 9772 no-mixed-spaces-and-tabs valid /*
> 	 */var a = `
> 	   `, b = `
> 	   `/*	 
> 	 
> */;
> ok 9773 no-mixed-spaces-and-tabs valid /*	 `template inside comment` */
> ok 9774 no-mixed-spaces-and-tabs valid var foo = `	 /* comment inside template	 */`;
> ok 9775 no-mixed-spaces-and-tabs valid `
> 	   `;
> ok 9776 no-mixed-spaces-and-tabs valid `
> 	   
> `;
> ok 9777 no-mixed-spaces-and-tabs valid `	   `;
> ok 9778 no-mixed-spaces-and-tabs valid const foo = `${console}
> 	 foo`;
> ok 9779 no-mixed-spaces-and-tabs valid `	   `;`   	`
> ok 9780 no-mixed-spaces-and-tabs valid `foo${ 5 }	    `;
> ok 9781 no-mixed-spaces-and-tabs valid 	var x = 5,
> 	    y = 2;
> ok 9782 no-mixed-spaces-and-tabs invalid function add(x, y) {
> 	 return x + y;
> }
> ok 9783 no-mixed-spaces-and-tabs invalid 	 ;
> /*
> 	 * Hello
> 	 */
> ok 9784 no-mixed-spaces-and-tabs invalid 	 var x = 5, y = 2, z = 5;
> 
> 	 	var j =	 x + y;
> z *= j;
> ok 9785 no-mixed-spaces-and-tabs invalid 	var x = 5,
>   	  y = 2;
> ok 9786 no-mixed-spaces-and-tabs invalid 	var x = 5,
>   	  y = 2;
> ok 9787 no-mixed-spaces-and-tabs invalid `foo${
>  	  5 }bar`;
> ok 9788 no-mixed-spaces-and-tabs invalid `foo${
> 	  5 }bar`;
> ok 9789 no-mutli-assign valid var a, b, c,
> d = 0;
> ok 9790 no-mutli-assign valid var a = 1; var b = 2; var c = 3;
> var d = 0;
> ok 9791 no-mutli-assign valid var a = 1 + (b === 10 ? 5 : 4);
> ok 9792 no-mutli-assign valid const a = 1, b = 2, c = 3;
> ok 9793 no-mutli-assign valid const a = 1;
> const b = 2;
>  const c = 3;
> ok 9794 no-mutli-assign valid for(var a = 0, b = 0;;){}
> ok 9795 no-mutli-assign valid for(let a = 0, b = 0;;){}
> ok 9796 no-mutli-assign valid for(const a = 0, b = 0;;){}
> ok 9797 no-mutli-assign valid export let a, b;
> ok 9798 no-mutli-assign valid export let a,
>  b = 0;
> ok 9799 no-mutli-assign invalid var a = b = c;
> ok 9800 no-mutli-assign invalid var a = b = c = d;
> ok 9801 no-mutli-assign invalid let foo = bar = cee = 100;
> ok 9802 no-mutli-assign invalid a=b=c=d=e
> ok 9803 no-mutli-assign invalid a=b=c
> ok 9804 no-mutli-assign invalid a
> =b
> =c
> ok 9805 no-mutli-assign invalid var a = (b) = (((c)))
> ok 9806 no-mutli-assign invalid var a = ((b)) = (c)
> ok 9807 no-mutli-assign invalid var a = b = ( (c * 12) + 2)
> ok 9808 no-mutli-assign invalid var a =
> ((b))
>  = (c)
> ok 9809 no-mutli-assign invalid a = b = '=' + c + 'foo';
> ok 9810 no-mutli-assign invalid a = b = 7 * 12 + 5;
> ok 9811 no-multi-spaces valid var a = 1;
> ok 9812 no-multi-spaces valid var a=1;
> ok 9813 no-multi-spaces valid var a = 1, b = 2;
> ok 9814 no-multi-spaces valid var arr = [1, 2];
> ok 9815 no-multi-spaces valid var arr = [ (1), (2) ];
> ok 9816 no-multi-spaces valid var obj = {'a': 1, 'b': (2)};
> ok 9817 no-multi-spaces valid 		var x = 5,
> 		    y = 2;
> ok 9818 no-multi-spaces valid a, b
> ok 9819 no-multi-spaces valid a >>> b
> ok 9820 no-multi-spaces valid a ^ b
> ok 9821 no-multi-spaces valid (a) | (b)
> ok 9822 no-multi-spaces valid a & b
> ok 9823 no-multi-spaces valid a << b
> ok 9824 no-multi-spaces valid a !== b
> ok 9825 no-multi-spaces valid a >>>= b
> ok 9826 no-multi-spaces valid if (a & b) { }
> ok 9827 no-multi-spaces valid function foo(a,b) {}
> ok 9828 no-multi-spaces valid function foo(a, b) {}
> ok 9829 no-multi-spaces valid if ( a === 3 && b === 4) {}
> ok 9830 no-multi-spaces valid if ( a === 3||b === 4 ) {}
> ok 9831 no-multi-spaces valid if ( a <= 4) {}
> ok 9832 no-multi-spaces valid var foo = bar === 1 ? 2: 3
> ok 9833 no-multi-spaces valid [1, , 3]
> ok 9834 no-multi-spaces valid [1, ]
> ok 9835 no-multi-spaces valid [ ( 1 ) , ( 2 ) ]
> ok 9836 no-multi-spaces valid a = 1, b = 2;
> ok 9837 no-multi-spaces valid (function(a, b){})
> ok 9838 no-multi-spaces valid x.in = 0;
> ok 9839 no-multi-spaces valid (function(a,/* b, */c){})
> ok 9840 no-multi-spaces valid (function(a,/*b,*/c){})
> ok 9841 no-multi-spaces valid (function(a, /*b,*/c){})
> ok 9842 no-multi-spaces valid (function(a,/*b,*/ c){})
> ok 9843 no-multi-spaces valid (function(a, /*b,*/ c){})
> ok 9844 no-multi-spaces valid (function(/*a, b, */c){})
> ok 9845 no-multi-spaces valid (function(/*a, */b, c){})
> ok 9846 no-multi-spaces valid (function(a, b/*, c*/){})
> ok 9847 no-multi-spaces valid (function(a, b/*,c*/){})
> ok 9848 no-multi-spaces valid (function(a, b /*,c*/){})
> ok 9849 no-multi-spaces valid (function(a/*, b ,c*/){})
> ok 9850 no-multi-spaces valid (function(a /*, b ,c*/){})
> ok 9851 no-multi-spaces valid (function(a /*, b        ,c*/){})
> ok 9852 no-multi-spaces valid /**
>  * hello
>  * @param {foo} int hi
>  *      set.
>  * @private
> */
> ok 9853 no-multi-spaces valid /**
>  * hello
>  * @param {foo} int hi
>  *      set.
>  *      set.
>  * @private
> */
> ok 9854 no-multi-spaces valid var a,/* b,*/c;
> ok 9855 no-multi-spaces valid var foo = [1,/* 2,*/3];
> ok 9856 no-multi-spaces valid var bar = {a: 1,/* b: 2*/c: 3};
> ok 9857 no-multi-spaces valid var foo = "hello     world";
> ok 9858 no-multi-spaces valid function foo() {
>     return;
> }
> ok 9859 no-multi-spaces valid function foo() {
>     if (foo) {
>         return;
>     }
> }
> ok 9860 no-multi-spaces valid var foo = `hello     world`;
> ok 9861 no-multi-spaces valid ({ a:  b })
> ok 9862 no-multi-spaces valid var  answer = 6 *  7;
> ok 9863 no-multi-spaces valid var x = 5; // comment
> ok 9864 no-multi-spaces valid var x = 5; /* multiline
>  * comment
>  */
> ok 9865 no-multi-spaces valid var x = 5;
>   // comment
> ok 9866 no-multi-spaces valid var x = 5;  
> // comment
> ok 9867 no-multi-spaces valid var x = 5;
>   /* multiline
>  * comment
>  */
> ok 9868 no-multi-spaces valid var x = 5;  
> /* multiline
>  * comment
>  */
> ok 9869 no-multi-spaces valid var x = 5; // comment
> ok 9870 no-multi-spaces valid var x = 5; /* multiline
>  * comment
>  */
> ok 9871 no-multi-spaces valid var x = 5;
>   // comment
> ok 9872 no-multi-spaces valid var x = 5;  
> // comment
> ok 9873 no-multi-spaces valid var x = 5;
>   /* multiline
>  * comment
>  */
> ok 9874 no-multi-spaces valid var x = 5;  
> /* multiline
>  * comment
>  */
> ok 9875 no-multi-spaces valid var x = 5;  // comment
> ok 9876 no-multi-spaces valid var x = 5;  /* multiline
>  * comment
>  */
> ok 9877 no-multi-spaces valid var x = 5;
>   // comment
> ok 9878 no-multi-spaces valid var x = 5;  
> // comment
> ok 9879 no-multi-spaces valid var x = 5;
>   /* multiline
>  * comment
>  */
> ok 9880 no-multi-spaces valid var x = 5;  
> /* multiline
>  * comment
>  */
> ok 9881 no-multi-spaces valid foo
>   bar
> ok 9882 no-multi-spaces valid foo
>    bar
> ok 9883 no-multi-spaces valid foo
>    bar
> ok 9884 no-multi-spaces valid aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
> ok 9885 no-multi-spaces valid foo		+bar
> ok 9886 no-multi-spaces invalid function foo(a,  b) {}
> ok 9887 no-multi-spaces invalid var foo = (a,  b) => {}
> ok 9888 no-multi-spaces invalid var a =  1
> ok 9889 no-multi-spaces invalid var a = 1,  b = 2;
> ok 9890 no-multi-spaces invalid a <<  b
> ok 9891 no-multi-spaces invalid var arr = {'a': 1,  'b': 2};
> ok 9892 no-multi-spaces invalid if (a &  b) { }
> ok 9893 no-multi-spaces invalid if ( a === 3  &&  b === 4) {}
> ok 9894 no-multi-spaces invalid var foo = bar === 1 ?  2:  3
> ok 9895 no-multi-spaces invalid var a = [1,  2,  3,  4]
> ok 9896 no-multi-spaces invalid var arr = [1,  2];
> ok 9897 no-multi-spaces invalid [  , 1,  , 3,  ,  ]
> ok 9898 no-multi-spaces invalid a >>>  b
> ok 9899 no-multi-spaces invalid a = 1,  b =  2;
> ok 9900 no-multi-spaces invalid (function(a,  b){})
> ok 9901 no-multi-spaces invalid function foo(a,  b){}
> ok 9902 no-multi-spaces invalid var o = { fetch: function    () {} };
> ok 9903 no-multi-spaces invalid function foo      () {}
> ok 9904 no-multi-spaces invalid if (foo)      {}
> ok 9905 no-multi-spaces invalid function    foo(){}
> ok 9906 no-multi-spaces invalid if    (foo) {}
> ok 9907 no-multi-spaces invalid try    {} catch(ex) {}
> ok 9908 no-multi-spaces invalid try {} catch    (ex) {}
> ok 9909 no-multi-spaces invalid throw  error;
> ok 9910 no-multi-spaces invalid function foo() { return      bar; }
> ok 9911 no-multi-spaces invalid switch   (a) {default: foo(); break;}
> ok 9912 no-multi-spaces invalid var  answer = 6 *  7;
> ok 9913 no-multi-spaces invalid ({ a:  6  * 7 })
> ok 9914 no-multi-spaces invalid ({ a:   b })
> ok 9915 no-multi-spaces invalid var foo = { bar: function() { return 1    + 2; } };
> ok 9916 no-multi-spaces invalid 		var x = 5,
> 		    y =  2;
> ok 9917 no-multi-spaces invalid var x =	  5;
> ok 9918 no-multi-spaces invalid var x =  /* comment */ 5;
> ok 9919 no-multi-spaces invalid var x = /* comment */  5;
> ok 9920 no-multi-spaces invalid var x = 5;  // comment
> ok 9921 no-multi-spaces invalid var x = 5;  // comment
> var y = 6;
> ok 9922 no-multi-spaces invalid var x = 5;  /* multiline
>  * comment
>  */
> ok 9923 no-multi-spaces invalid var x = 5;  /* multiline
>  * comment
>  */
> var y = 6;
> ok 9924 no-multi-spaces invalid var x = 5;  // this is a long comment
> ok 9925 no-multi-spaces invalid var x =  /* comment */ 5;
> ok 9926 no-multi-spaces invalid var x = /* comment */  5;
> ok 9927 no-multi-spaces invalid var x = 5;  // comment
> ok 9928 no-multi-spaces invalid var x = 5;  // comment
> var y = 6;
> ok 9929 no-multi-spaces invalid var x = 5;  /* multiline
>  * comment
>  */
> ok 9930 no-multi-spaces invalid var x = 5;  /* multiline
>  * comment
>  */
> var y = 6;
> ok 9931 no-multi-spaces invalid var x = 5;  // this is a long comment
> ok 9932 no-multi-spaces invalid var x =  /* comment */ 5;  // EOL comment
> ok 9933 no-multi-spaces invalid var x =  /* comment */ 5;  // EOL comment
> var y = 6;
> ok 9934 no-multi-spaces invalid var x = /* comment */  5;  /* EOL comment */
> ok 9935 no-multi-spaces invalid var x = /* comment */  5;  /* EOL comment */
> var y = 6;
> ok 9936 no-multi-spaces invalid var x =  /*comment without spaces*/ 5;
> ok 9937 no-multi-spaces invalid var x = 5;  //comment without spaces
> ok 9938 no-multi-spaces invalid var x = 5;  /*comment without spaces*/
> ok 9939 no-multi-spaces invalid var x = 5;  /*comment
>  without spaces*/
> ok 9940 no-multi-spaces invalid foo
>   bar  + baz
> ok 9941 no-multi-str valid var a = 'Line 1 Line 2';
> ok 9942 no-multi-str valid var a = <div>
> <h1>Wat</h1>
> </div>;
> ok 9943 no-multi-str invalid var x = 'Line 1 \
>  Line 2'
> ok 9944 no-multi-str invalid test('Line 1 \
>  Line 2');
> ok 9945 no-multi-str invalid 'foo\
> bar';
> ok 9946 no-multi-str invalid 'foo\
bar';
> ok 9947 no-multi-str invalid 'foo\
ar';
> ok 9948 no-multiple-empty-lines valid // valid 1
> var a = 5;
> var b = 3;
> 
> 
> ok 9949 no-multiple-empty-lines valid // valid 2
> 
> var a = 5;
> 
> var b = 3;
> ok 9950 no-multiple-empty-lines valid // valid 3
> var a = 5;
> 
> var b = 3;
> 
> 
> 
> ok 9951 no-multiple-empty-lines valid // valid 4
> var a = 5,
>     b = 3;
> ok 9952 no-multiple-empty-lines valid // valid 5
> var a = 5;
> 
> 
> 
> 
> var b = 3;
> 
> 
> 
> 
> 
> ok 9953 no-multiple-empty-lines valid // valid 6
> var a = 5;
> /* comment */
> var b = 5;
> ok 9954 no-multiple-empty-lines valid // valid 7
> var a = 5;
> 
> ok 9955 no-multiple-empty-lines valid // valid 8
> var a = 5;
> 
> ok 9956 no-multiple-empty-lines valid // valid 9
> var a = 1;
> 
> 
> ok 9957 no-multiple-empty-lines valid // valid 10
> var a = 5;
> 
> ok 9958 no-multiple-empty-lines valid 
> // valid 11
> var a = 1;
> 
> ok 9959 no-multiple-empty-lines valid // valid 12
> 
> // windows line endings
> 
> var a = 5;
> 
> var b = 3;
> 
> 
> 
> 
> ok 9960 no-multiple-empty-lines valid // valid 12
> x = `
> 
> 
> 
> hi
> 
> 
> 
> `
> ok 9961 no-multiple-empty-lines valid // valid 13
> `
> 
> `
> ok 9962 no-multiple-empty-lines valid // valid 14
> var a = 5;`
> 
> 
> 
> 
> `
> ok 9963 no-multiple-empty-lines valid `
> 
> 
> 
> 
> `
> // valid 15
> var a = 5;
> ok 9964 no-multiple-empty-lines valid 
> 
> 
> 
> // valid 16
> var a = 5;
> 
> ok 9965 no-multiple-empty-lines valid // valid 17
> var a = 5;
> 
> 
> ok 9966 no-multiple-empty-lines valid var a = 5;
> ok 9967 no-multiple-empty-lines invalid // invalid 1
> var a = 5;
> 
> 
> var b = 3;
> ok 9968 no-multiple-empty-lines invalid // invalid 2
> 
> 
> 
> 
> var a = 5;
> ok 9969 no-multiple-empty-lines invalid // invalid 3
> var a = 5;
> 
> 
> 
> 
> ok 9970 no-multiple-empty-lines invalid // invalid 4
> var a = 5;
>  
>  
>  
> 
> ok 9971 no-multiple-empty-lines invalid // invalid 5
> var a=5;
> 
> 
> 
> var b = 3;
> ok 9972 no-multiple-empty-lines invalid // invalid 6
> var a=5;
> 
> 
> 
> var b = 3;
> 
> ok 9973 no-multiple-empty-lines invalid // invalid 7
> var a = 5;
> 
> 
> 
> b = 3;
> var c = 5;
> 
> 
> 
> var d = 3;
> ok 9974 no-multiple-empty-lines invalid // invalid 8
> var a = 5;
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> b = 3;
> ok 9975 no-multiple-empty-lines invalid // invalid 9
> var a=5;
> 
> 
> 
> 
> 
> ok 9976 no-multiple-empty-lines invalid // invalid 10
> var a = 5;
> 
> var b = 3;
> ok 9977 no-multiple-empty-lines invalid // invalid 11
> var a = 5;
> 
> 
> 
> ok 9978 no-multiple-empty-lines invalid // invalid 12
> var a = 5;
> 
> 
> 
> 
> 
> 
> ok 9979 no-multiple-empty-lines invalid // invalid 13
> 
> 
> 
> 
> 
> 
> 
> 
> var a = 5;
> 
> 
> 
> ok 9980 no-multiple-empty-lines invalid // invalid 14
> var a = 5;
> 
> 
> ok 9981 no-multiple-empty-lines invalid 
> 
> // invalid 15
> var a = 5;
> 
> ok 9982 no-multiple-empty-lines invalid 
> 
> 
> 
> 
> // invalid 16
> var a = 5;
> 
> ok 9983 no-multiple-empty-lines invalid 
> 
> // invalid 17
> 
> 
> 
> 
> 
> 
> 
> 
> var a = 5;
> 
> ok 9984 no-multiple-empty-lines invalid 
> // invalid 18
> var a = 5;
> 
> ok 9985 no-multiple-empty-lines invalid 
> 
> 
> // invalid 19
> var a = 5;
> 
> 
> ok 9986 no-multiple-empty-lines invalid // invalid 20
> 
> // windows line endings
> 
> var a = 5;
> 
> var b = 3;
> 
> 
> 
> 
> 
> 
> ok 9987 no-multiple-empty-lines invalid // invalid 21
> // unix line endings
> var a = 5;
> var b = 3;
> 
> 
> 
> ok 9988 no-multiple-empty-lines invalid 'foo';
> 
> 
> `bar`;
> `baz`;
> ok 9989 no-multiple-empty-lines invalid `template ${foo
> 
> 
> } literal`;
> ok 9990 no-multiple-empty-lines invalid a
> 
> 
> 
> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
> ok 9991 no-multiple-empty-lines invalid foo
>  
> ok 9992 no-native-reassign valid string = 'hello world';
> ok 9993 no-native-reassign valid var string;
> ok 9994 no-native-reassign valid Object = 0;
> ok 9995 no-native-reassign valid top = 0;
> ok 9996 no-native-reassign valid onload = 0;
> ok 9997 no-native-reassign valid require = 0;
> ok 9998 no-native-reassign valid a = 1
> ok 9999 no-native-reassign valid /*global a:true*/ a = 1
> ok 10000 no-native-reassign invalid String = 'hello world';
> ok 10001 no-native-reassign invalid String++;
> ok 10002 no-native-reassign invalid ({Object = 0, String = 0} = {});
> ok 10003 no-native-reassign invalid top = 0;
> ok 10004 no-native-reassign invalid require = 0;
> ok 10005 no-native-reassign invalid /*global b:false*/ function f() { b = 1; }
> ok 10006 no-native-reassign invalid function f() { b = 1; }
> ok 10007 no-native-reassign invalid /*global b:false*/ function f() { b++; }
> ok 10008 no-native-reassign invalid /*global b*/ b = 1;
> ok 10009 no-native-reassign invalid Array = 1;
> ok 10010 no-negated-condition valid if (a) {}
> ok 10011 no-negated-condition valid if (a) {} else {}
> ok 10012 no-negated-condition valid if (!a) {}
> ok 10013 no-negated-condition valid if (!a) {} else if (b) {}
> ok 10014 no-negated-condition valid if (!a) {} else if (b) {} else {}
> ok 10015 no-negated-condition valid if (a == b) {}
> ok 10016 no-negated-condition valid if (a == b) {} else {}
> ok 10017 no-negated-condition valid if (a != b) {}
> ok 10018 no-negated-condition valid if (a != b) {} else if (b) {}
> ok 10019 no-negated-condition valid if (a != b) {} else if (b) {} else {}
> ok 10020 no-negated-condition valid if (a !== b) {}
> ok 10021 no-negated-condition valid if (a === b) {} else {}
> ok 10022 no-negated-condition valid a ? b : c
> ok 10023 no-negated-condition invalid if (!a) {;} else {;}
> ok 10024 no-negated-condition invalid if (a != b) {;} else {;}
> ok 10025 no-negated-condition invalid if (a !== b) {;} else {;}
> ok 10026 no-negated-condition invalid !a ? b : c
> ok 10027 no-negated-condition invalid a != b ? c : d
> ok 10028 no-negated-condition invalid a !== b ? c : d
> ok 10029 no-negated-in-lhs valid a in b
> ok 10030 no-negated-in-lhs valid !(a in b)
> ok 10031 no-negated-in-lhs invalid !a in b
> ok 10032 no-nested-ternary valid foo ? doBar() : doBaz();
> ok 10033 no-nested-ternary valid var foo = bar === baz ? qux : quxx;
> ok 10034 no-nested-ternary invalid foo ? bar : baz === qux ? quxx : foobar;
> ok 10035 no-nested-ternary invalid foo ? baz === qux ? quxx : foobar : bar;
> ok 10036 no-new-func valid var a = new _function("b", "c", "return b+c");
> ok 10037 no-new-func valid var a = _function("b", "c", "return b+c");
> ok 10038 no-new-func invalid var a = new Function("b", "c", "return b+c");
> ok 10039 no-new-func invalid var a = Function("b", "c", "return b+c");
> ok 10040 no-new-object valid var foo = new foo.Object()
> ok 10041 no-new-object invalid var foo = new Object()
> ok 10042 no-new-require valid var appHeader = require('app-header')
> ok 10043 no-new-require valid var AppHeader = new (require('app-header'))
> ok 10044 no-new-require valid var AppHeader = new (require('headers').appHeader)
> ok 10045 no-new-require invalid var appHeader = new require('app-header')
> ok 10046 no-new-require invalid var appHeader = new require('headers').appHeader
> ok 10047 no-new-symbol valid var foo = Symbol('foo');
> ok 10048 no-new-symbol valid function bar(Symbol) { var baz = new Symbol('baz');}
> ok 10049 no-new-symbol valid function Symbol() {} new Symbol();
> ok 10050 no-new-symbol invalid var foo = new Symbol('foo');
> ok 10051 no-new-symbol invalid function bar() { return function Symbol() {}; } var baz = new Symbol('baz');
> ok 10052 no-new-wrappers valid var a = new Object();
> ok 10053 no-new-wrappers valid var a = String('test'), b = String.fromCharCode(32);
> ok 10054 no-new-wrappers invalid var a = new String('hello');
> ok 10055 no-new-wrappers invalid var a = new Number(10);
> ok 10056 no-new-wrappers invalid var a = new Boolean(false);
> ok 10057 no-new-wrappers invalid var a = new Math();
> ok 10058 no-new-wrappers invalid var a = new JSON({ myProp: 10 });
> ok 10059 no-new valid var a = new Date()
> ok 10060 no-new valid var a; if (a === new Date()) { a = false; }
> ok 10061 no-new invalid new Date()
> ok 10062 no-obj-calls valid var x = Math.random();
> ok 10063 no-obj-calls invalid var x = Math();
> ok 10064 no-obj-calls invalid var x = JSON();
> ok 10065 no-obj-calls invalid var x = Reflect();
> ok 10066 no-octal-escape valid var foo = "\x51";
> ok 10067 no-octal-escape valid var foo = "foo \\251 bar";
> ok 10068 no-octal-escape valid var foo = /([abc]) \1/g;
> ok 10069 no-octal-escape valid var foo = '\0';
> ok 10070 no-octal-escape invalid var foo = "foo \01 bar";
> ok 10071 no-octal-escape invalid var foo = "foo \251 bar";
> ok 10072 no-octal-escape invalid var foo = "\751";
> ok 10073 no-octal-escape invalid var foo = "\3s51";
> ok 10074 no-octal-escape invalid var foo = "\\\751";
> ok 10075 no-octal valid var a = 'hello world';
> ok 10076 no-octal valid 0x1234
> ok 10077 no-octal valid 0X5;
> ok 10078 no-octal valid a = 0;
> ok 10079 no-octal valid 0.1
> ok 10080 no-octal valid 0.5e1
> ok 10081 no-octal invalid var a = 01234;
> ok 10082 no-octal invalid a = 1 + 01234;
> ok 10083 no-octal invalid 00
> ok 10084 no-param-reassign valid function foo(a) { var b = a; }
> ok 10085 no-param-reassign valid function foo(a) { a.prop = 'value'; }
> ok 10086 no-param-reassign valid function foo(a) { (function() { var a = 12; a++; })(); }
> ok 10087 no-param-reassign valid function foo() { someGlobal = 13; }
> ok 10088 no-param-reassign valid function foo() { someGlobal = 13; }
> ok 10089 no-param-reassign valid function foo(a) { a.b = 0; }
> ok 10090 no-param-reassign valid function foo(a) { delete a.b; }
> ok 10091 no-param-reassign valid function foo(a) { ++a.b; }
> ok 10092 no-param-reassign valid function foo(a) { [a.b] = []; }
> ok 10093 no-param-reassign valid function foo(a) { bar(a.b).c = 0; }
> ok 10094 no-param-reassign valid function foo(a) { data[a.b] = 0; }
> ok 10095 no-param-reassign valid function foo(a) { +a.b; }
> ok 10096 no-param-reassign valid function foo(a) { (a ? [] : [])[0] = 1; }
> ok 10097 no-param-reassign valid function foo(a) { (a.b ? [] : [])[0] = 1; }
> ok 10098 no-param-reassign valid function foo(a) { a.b = 0; }
> ok 10099 no-param-reassign valid function foo(a) { ++a.b; }
> ok 10100 no-param-reassign valid function foo(a) { delete a.b; }
> ok 10101 no-param-reassign valid function foo(a, z) { a.b = 0; x.y = 0; }
> ok 10102 no-param-reassign valid function foo(a) { a.b.c = 0;}
> ok 10103 no-param-reassign valid function foo(a) { ({ [a]: variable } = value) }
> ok 10104 no-param-reassign valid function foo(a) { ([...a.b] = obj); }
> ok 10105 no-param-reassign valid function foo(a) { ({...a.b} = obj); }
> ok 10106 no-param-reassign invalid function foo(bar) { bar = 13; }
> ok 10107 no-param-reassign invalid function foo(bar) { bar += 13; }
> ok 10108 no-param-reassign invalid function foo(bar) { (function() { bar = 13; })(); }
> ok 10109 no-param-reassign invalid function foo(bar) { ++bar; }
> ok 10110 no-param-reassign invalid function foo(bar) { bar++; }
> ok 10111 no-param-reassign invalid function foo(bar) { --bar; }
> ok 10112 no-param-reassign invalid function foo(bar) { bar--; }
> ok 10113 no-param-reassign invalid function foo({bar}) { bar = 13; }
> ok 10114 no-param-reassign invalid function foo([, {bar}]) { bar = 13; }
> ok 10115 no-param-reassign invalid function foo(bar) { ({bar} = {}); }
> ok 10116 no-param-reassign invalid function foo(bar) { ({x: [, bar = 0]} = {}); }
> ok 10117 no-param-reassign invalid function foo(bar) { bar.a = 0; }
> ok 10118 no-param-reassign invalid function foo(bar) { bar.get(0).a = 0; }
> ok 10119 no-param-reassign invalid function foo(bar) { delete bar.a; }
> ok 10120 no-param-reassign invalid function foo(bar) { ++bar.a; }
> ok 10121 no-param-reassign invalid function foo(bar) { (bar ? bar : [])[0] = 1; }
> ok 10122 no-param-reassign invalid function foo(bar) { [bar.a] = []; }
> ok 10123 no-param-reassign invalid function foo(bar) { [bar.a] = []; }
> ok 10124 no-param-reassign invalid function foo(bar) { ({foo: bar.a} = {}); }
> ok 10125 no-param-reassign invalid function foo(a) { ({a} = obj); }
> ok 10126 no-param-reassign invalid function foo(a) { ([...a] = obj); }
> ok 10127 no-param-reassign invalid function foo(a) { ({...a} = obj); }
> ok 10128 no-param-reassign invalid function foo(a) { ([...a.b] = obj); }
> ok 10129 no-param-reassign invalid function foo(a) { ({...a.b} = obj); }
> ok 10130 no-path-concat valid var fullPath = dirname + "foo.js";
> ok 10131 no-path-concat valid var fullPath = __dirname == "foo.js";
> ok 10132 no-path-concat valid if (fullPath === __dirname) {}
> ok 10133 no-path-concat valid if (__dirname === fullPath) {}
> ok 10134 no-path-concat invalid var fullPath = __dirname + "/foo.js";
> ok 10135 no-path-concat invalid var fullPath = __filename + "/foo.js";
> ok 10136 no-path-concat invalid var fullPath = "/foo.js" + __filename;
> ok 10137 no-path-concat invalid var fullPath = "/foo.js" + __dirname;
> ok 10138 no-plusplus valid var foo = 0; foo=+1;
> ok 10139 no-plusplus valid var foo = 0; foo=+1;
> ok 10140 no-plusplus valid for (i = 0; i < l; i++) { console.log(i); }
> ok 10141 no-plusplus invalid var foo = 0; foo++;
> ok 10142 no-plusplus invalid var foo = 0; foo--;
> ok 10143 no-plusplus invalid for (i = 0; i < l; i++) { console.log(i); }
> ok 10144 no-plusplus invalid var foo = 0; foo++;
> ok 10145 no-plusplus invalid for (i = 0; i < l; i++) { v++; }
> ok 10146 no-process-env valid Process.env
> ok 10147 no-process-env valid process[env]
> ok 10148 no-process-env valid process.nextTick
> ok 10149 no-process-env valid process.execArgv
> ok 10150 no-process-env invalid process.env
> ok 10151 no-process-env invalid process.env.ENV
> ok 10152 no-process-env invalid f(process.env)
> ok 10153 no-process-exit valid Process.exit()
> ok 10154 no-process-exit valid var exit = process.exit;
> ok 10155 no-process-exit valid f(process.exit)
> ok 10156 no-process-exit invalid process.exit(0);
> ok 10157 no-process-exit invalid process.exit(1);
> ok 10158 no-process-exit invalid f(process.exit(1));
> ok 10159 no-proto valid var a = test[__proto__];
> ok 10160 no-proto valid var __proto__ = null;
> ok 10161 no-proto invalid var a = test.__proto__;
> ok 10162 no-proto invalid var a = test['__proto__'];
> ok 10163 no-prototype-builtins valid Object.prototype.hasOwnProperty.call(foo, 'bar')
> ok 10164 no-prototype-builtins valid Object.prototype.isPrototypeOf.call(foo, 'bar')
> ok 10165 no-prototype-builtins valid Object.prototype.propertyIsEnumerable.call(foo, 'bar')
> ok 10166 no-prototype-builtins valid Object.prototype.hasOwnProperty.apply(foo, ['bar'])
> ok 10167 no-prototype-builtins valid Object.prototype.isPrototypeOf.apply(foo, ['bar'])
> ok 10168 no-prototype-builtins valid Object.prototype.propertyIsEnumerable.apply(foo, ['bar'])
> ok 10169 no-prototype-builtins valid hasOwnProperty(foo, 'bar')
> ok 10170 no-prototype-builtins valid isPrototypeOf(foo, 'bar')
> ok 10171 no-prototype-builtins valid propertyIsEnumerable(foo, 'bar')
> ok 10172 no-prototype-builtins valid ({}.hasOwnProperty.call(foo, 'bar'))
> ok 10173 no-prototype-builtins valid ({}.isPrototypeOf.call(foo, 'bar'))
> ok 10174 no-prototype-builtins valid ({}.propertyIsEnumerable.call(foo, 'bar'))
> ok 10175 no-prototype-builtins valid ({}.hasOwnProperty.apply(foo, ['bar']))
> ok 10176 no-prototype-builtins valid ({}.isPrototypeOf.apply(foo, ['bar']))
> ok 10177 no-prototype-builtins valid ({}.propertyIsEnumerable.apply(foo, ['bar']))
> ok 10178 no-prototype-builtins invalid foo.hasOwnProperty('bar')
> ok 10179 no-prototype-builtins invalid foo.isPrototypeOf('bar')
> ok 10180 no-prototype-builtins invalid foo.propertyIsEnumerable('bar')
> ok 10181 no-prototype-builtins invalid foo.bar.hasOwnProperty('bar')
> ok 10182 no-prototype-builtins invalid foo.bar.baz.isPrototypeOf('bar')
> ok 10183 no-redeclare valid var a = 3; var b = function() { var a = 10; };
> ok 10184 no-redeclare valid var a = 3; a = 10;
> ok 10185 no-redeclare valid if (true) {
>     let b = 2;
> } else {    
> let b = 3;
> }
> ok 10186 no-redeclare valid var Object = 0;
> ok 10187 no-redeclare valid var Object = 0;
> ok 10188 no-redeclare valid var Object = 0;
> ok 10189 no-redeclare valid var Object = 0;
> ok 10190 no-redeclare valid var top = 0;
> ok 10191 no-redeclare valid var top = 0;
> ok 10192 no-redeclare valid var top = 0;
> ok 10193 no-redeclare valid var top = 0;
> ok 10194 no-redeclare valid var self = 1
> ok 10195 no-redeclare invalid var a = 3; var a = 10;
> ok 10196 no-redeclare invalid switch(foo) { case a: var b = 3;
> case b: var b = 4}
> ok 10197 no-redeclare invalid var a = 3; var a = 10;
> ok 10198 no-redeclare invalid var a = {}; var a = [];
> ok 10199 no-redeclare invalid var a; function a() {}
> ok 10200 no-redeclare invalid function a() {} function a() {}
> ok 10201 no-redeclare invalid var a = function() { }; var a = function() { }
> ok 10202 no-redeclare invalid var a = function() { }; var a = new Date();
> ok 10203 no-redeclare invalid var a = 3; var a = 10; var a = 15;
> ok 10204 no-redeclare invalid var a; var a;
> ok 10205 no-redeclare invalid export var a; var a;
> ok 10206 no-redeclare invalid var Object = 0;
> ok 10207 no-redeclare invalid var top = 0;
> ok 10208 no-redeclare invalid var a; var {a = 0, b: Object = 0} = {};
> ok 10209 no-redeclare invalid var a; var {a = 0, b: Object = 0} = {};
> ok 10210 no-redeclare invalid var a; var {a = 0, b: Object = 0} = {};
> ok 10211 no-redeclare invalid var a; var {a = 0, b: Object = 0} = {};
> ok 10212 no-redeclare invalid /*global b:false*/ var b = 1;
> ok 10213 no-regex-spaces valid var foo = /bar {3}baz/;
> ok 10214 no-regex-spaces valid var foo = RegExp('bar {3}baz')
> ok 10215 no-regex-spaces valid var foo = new RegExp('bar {3}baz')
> ok 10216 no-regex-spaces valid var foo = /bar			baz/;
> ok 10217 no-regex-spaces valid var foo = RegExp('bar			baz');
> ok 10218 no-regex-spaces valid var foo = new RegExp('bar			baz');
> ok 10219 no-regex-spaces valid var RegExp = function() {}; var foo = new RegExp('bar   baz');
> ok 10220 no-regex-spaces valid var RegExp = function() {}; var foo = RegExp('bar   baz');
> ok 10221 no-regex-spaces valid var foo = /  +/;
> ok 10222 no-regex-spaces invalid var foo = /bar    baz/;
> ok 10223 no-regex-spaces invalid var foo = RegExp('bar    baz');
> ok 10224 no-regex-spaces invalid var foo = new RegExp('bar    baz');
> ok 10225 no-regex-spaces invalid { let RegExp = function() {}; } var foo = RegExp('bar    baz');
> ok 10226 no-regex-spaces invalid var foo = /bar    ?baz/;
> ok 10227 no-regex-spaces invalid var foo = new RegExp('bar    ');
> ok 10228 no-restricted-globals valid foo
> ok 10229 no-restricted-globals valid foo
> ok 10230 no-restricted-globals valid var foo = 1;
> ok 10231 no-restricted-globals valid event
> ok 10232 no-restricted-globals valid import foo from 'bar';
> ok 10233 no-restricted-globals valid function foo() {}
> ok 10234 no-restricted-globals valid function fn() { var foo; }
> ok 10235 no-restricted-globals valid foo.bar
> ok 10236 no-restricted-globals valid foo
> ok 10237 no-restricted-globals invalid foo
> ok 10238 no-restricted-globals invalid function fn() { foo; }
> ok 10239 no-restricted-globals invalid function fn() { foo; }
> ok 10240 no-restricted-globals invalid event
> ok 10241 no-restricted-globals invalid foo
> ok 10242 no-restricted-globals invalid foo()
> ok 10243 no-restricted-globals invalid foo.bar()
> ok 10244 no-restricted-globals invalid foo
> ok 10245 no-restricted-globals invalid function fn() { foo; }
> ok 10246 no-restricted-globals invalid function fn() { foo; }
> ok 10247 no-restricted-globals invalid event
> ok 10248 no-restricted-globals invalid foo
> ok 10249 no-restricted-globals invalid foo()
> ok 10250 no-restricted-globals invalid foo.bar()
> ok 10251 no-restricted-globals invalid foo
> ok 10252 no-restricted-globals invalid function fn() { foo; }
> ok 10253 no-restricted-globals invalid function fn() { foo; }
> ok 10254 no-restricted-globals invalid event
> ok 10255 no-restricted-globals invalid foo
> ok 10256 no-restricted-globals invalid foo()
> ok 10257 no-restricted-globals invalid foo.bar()
> ok 10258 no-restricted-globals invalid var foo = obj => hasOwnProperty(obj, 'name');
> ok 10259 no-restricted-imports valid import os from "os";
> ok 10260 no-restricted-imports valid import fs from "fs";
> ok 10261 no-restricted-imports valid import path from "path";
> ok 10262 no-restricted-imports valid import async from "async";
> ok 10263 no-restricted-imports valid import "foo"
> ok 10264 no-restricted-imports valid import "foo/bar";
> ok 10265 no-restricted-imports valid import withPaths from "foo/bar";
> ok 10266 no-restricted-imports valid import withPatterns from "foo/bar";
> ok 10267 no-restricted-imports valid import withPatternsAndPaths from "foo/bar";
> ok 10268 no-restricted-imports valid import withGitignores from "foo/bar";
> ok 10269 no-restricted-imports valid import AllowedObject from "foo";
> ok 10270 no-restricted-imports valid import DisallowedObject from "foo";
> ok 10271 no-restricted-imports valid import * as DisallowedObject from "foo";
> ok 10272 no-restricted-imports valid import { AllowedObject } from "foo";
> ok 10273 no-restricted-imports valid import { DisallowedObject } from "foo";
> ok 10274 no-restricted-imports valid import { AllowedObject as DisallowedObject } from "foo";
> ok 10275 no-restricted-imports valid import { AllowedObject, AllowedObjectTwo } from "foo";
> ok 10276 no-restricted-imports valid import { AllowedObject, AllowedObjectTwo  as DisallowedObject } from "foo";
> ok 10277 no-restricted-imports valid import AllowedObjectThree, { AllowedObject as AllowedObjectTwo } from "foo";
> ok 10278 no-restricted-imports valid import AllowedObject, { AllowedObjectTwo as DisallowedObject } from "foo";
> ok 10279 no-restricted-imports valid import AllowedObject, { AllowedObjectTwo as DisallowedObject } from "foo";
> ok 10280 no-restricted-imports valid import AllowedObject, * as DisallowedObject from "foo";
> ok 10281 no-restricted-imports valid import "foo";
> ok 10282 no-restricted-imports invalid import "fs"
> ok 10283 no-restricted-imports invalid import os from "os ";
> ok 10284 no-restricted-imports invalid import "foo/bar";
> ok 10285 no-restricted-imports invalid import withPaths from "foo/bar";
> ok 10286 no-restricted-imports invalid import withPatterns from "foo/bar";
> ok 10287 no-restricted-imports invalid import withPatterns from "foo/bar";
> ok 10288 no-restricted-imports invalid import withGitignores from "foo/bar";
> ok 10289 no-restricted-imports invalid export * from "fs";
> ok 10290 no-restricted-imports invalid export {a} from "fs";
> ok 10291 no-restricted-imports invalid export {foo as b} from "fs";
> ok 10292 no-restricted-imports invalid import withGitignores from "foo";
> ok 10293 no-restricted-imports invalid import withGitignores from "bar";
> ok 10294 no-restricted-imports invalid import withGitignores from "foo";
> ok 10295 no-restricted-imports invalid import DisallowedObject from "foo";
> ok 10296 no-restricted-imports invalid import * as All from "foo";
> ok 10297 no-restricted-imports invalid import { DisallowedObject } from "foo";
> ok 10298 no-restricted-imports invalid import { DisallowedObject as AllowedObject } from "foo";
> ok 10299 no-restricted-imports invalid import { AllowedObject, DisallowedObject } from "foo";
> ok 10300 no-restricted-imports invalid import { AllowedObject, DisallowedObject as AllowedObjectTwo } from "foo";
> ok 10301 no-restricted-imports invalid import { AllowedObject, DisallowedObject as AllowedObjectTwo } from "foo";
> ok 10302 no-restricted-imports invalid import { AllowedObject, DisallowedObject as AllowedObjectTwo } from "foo";
> ok 10303 no-restricted-imports invalid import DisallowedObject, { AllowedObject as AllowedObjectTwo } from "foo";
> ok 10304 no-restricted-imports invalid import AllowedObject, { DisallowedObject as AllowedObjectTwo } from "foo";
> ok 10305 no-restricted-imports invalid import AllowedObject, * as AllowedObjectTwo from "foo";
> ok 10306 no-restricted-imports invalid import AllowedObject, * as AllowedObjectTwo from "foo";
> ok 10307 no-restricted-modules valid require("fs")
> ok 10308 no-restricted-modules valid require("path")
> ok 10309 no-restricted-modules valid require("fs ")
> ok 10310 no-restricted-modules valid require(2)
> ok 10311 no-restricted-modules valid require(foo)
> ok 10312 no-restricted-modules valid var foo = bar('crypto');
> ok 10313 no-restricted-modules valid require("foo/bar");
> ok 10314 no-restricted-modules valid var withPaths = require("foo/bar");
> ok 10315 no-restricted-modules valid var withPatterns = require("foo/bar");
> ok 10316 no-restricted-modules valid var withPatternsAndPaths = require("foo/bar");
> ok 10317 no-restricted-modules valid var withGitignores = require("foo/bar");
> ok 10318 no-restricted-modules invalid require("fs")
> ok 10319 no-restricted-modules invalid require("os ")
> ok 10320 no-restricted-modules invalid require("foo/bar");
> ok 10321 no-restricted-modules invalid var withPaths = require("foo/bar");
> ok 10322 no-restricted-modules invalid var withPatterns = require("foo/bar");
> ok 10323 no-restricted-modules invalid var withPatternsAndPaths = require("foo/bar");
> ok 10324 no-restricted-modules invalid var withGitignores = require("foo/bar");
> ok 10325 no-restricted-modules invalid var withGitignores = require("foo");
> ok 10326 no-restricted-modules invalid var withGitignores = require("bar");
> ok 10327 no-restricted-modules invalid var withGitignores = require("foo");
> ok 10328 no-restricted-properties valid someObject.someProperty
> ok 10329 no-restricted-properties valid anotherObject.disallowedProperty
> ok 10330 no-restricted-properties valid someObject.someProperty()
> ok 10331 no-restricted-properties valid anotherObject.disallowedProperty()
> ok 10332 no-restricted-properties valid anotherObject.disallowedProperty()
> ok 10333 no-restricted-properties valid anotherObject['disallowedProperty']()
> ok 10334 no-restricted-properties valid obj.toString
> ok 10335 no-restricted-properties valid toString.toString
> ok 10336 no-restricted-properties valid obj.toString
> ok 10337 no-restricted-properties valid foo.bar
> ok 10338 no-restricted-properties valid foo.bar
> ok 10339 no-restricted-properties valid foo()
> ok 10340 no-restricted-properties valid foo;
> ok 10341 no-restricted-properties valid let bar = foo;
> ok 10342 no-restricted-properties valid let {baz: bar} = foo;
> ok 10343 no-restricted-properties valid let {unrelated} = foo;
> ok 10344 no-restricted-properties valid let {baz: {bar: qux}} = foo;
> ok 10345 no-restricted-properties valid let {bar} = foo.baz;
> ok 10346 no-restricted-properties valid let {baz: bar} = foo;
> ok 10347 no-restricted-properties valid let baz; ({baz: bar} = foo)
> ok 10348 no-restricted-properties valid let bar;
> ok 10349 no-restricted-properties valid let bar; ([bar = 5] = foo);
> ok 10350 no-restricted-properties valid function qux({baz: bar} = foo) {}
> ok 10351 no-restricted-properties valid let [bar, baz] = foo;
> ok 10352 no-restricted-properties valid let [, bar] = foo;
> ok 10353 no-restricted-properties valid let [, bar = 5] = foo;
> ok 10354 no-restricted-properties valid let bar; ([bar = 5] = foo);
> ok 10355 no-restricted-properties valid function qux([bar] = foo) {}
> ok 10356 no-restricted-properties valid function qux([, bar] = foo) {}
> ok 10357 no-restricted-properties valid function qux([, bar] = foo) {}
> ok 10358 no-restricted-properties invalid someObject.disallowedProperty
> ok 10359 no-restricted-properties invalid someObject.disallowedProperty
> ok 10360 no-restricted-properties invalid someObject.disallowedProperty; anotherObject.anotherDisallowedProperty()
> ok 10361 no-restricted-properties invalid foo.__proto__
> ok 10362 no-restricted-properties invalid foo['__proto__']
> ok 10363 no-restricted-properties invalid foo.bar.baz;
> ok 10364 no-restricted-properties invalid foo.bar();
> ok 10365 no-restricted-properties invalid foo.bar.baz();
> ok 10366 no-restricted-properties invalid foo.bar.baz;
> ok 10367 no-restricted-properties invalid foo.bar();
> ok 10368 no-restricted-properties invalid foo.bar.baz();
> ok 10369 no-restricted-properties invalid require.call({}, 'foo')
> ok 10370 no-restricted-properties invalid require['resolve']
> ok 10371 no-restricted-properties invalid let {bar} = foo;
> ok 10372 no-restricted-properties invalid let {bar: baz} = foo;
> ok 10373 no-restricted-properties invalid let {'bar': baz} = foo;
> ok 10374 no-restricted-properties invalid let {bar: {baz: qux}} = foo;
> ok 10375 no-restricted-properties invalid let {bar} = foo;
> ok 10376 no-restricted-properties invalid let {bar: baz} = foo;
> ok 10377 no-restricted-properties invalid let {bar} = foo;
> ok 10378 no-restricted-properties invalid let bar; ({bar} = foo);
> ok 10379 no-restricted-properties invalid let bar; ({bar: baz = 1} = foo);
> ok 10380 no-restricted-properties invalid function qux({bar} = foo) {}
> ok 10381 no-restricted-properties invalid function qux({bar: baz} = foo) {}
> ok 10382 no-restricted-properties invalid var {['foo']: qux, bar} = baz
> ok 10383 no-restricted-syntax valid doSomething();
> ok 10384 no-restricted-syntax valid var foo = 42;
> ok 10385 no-restricted-syntax valid foo += 42;
> ok 10386 no-restricted-syntax valid foo;
> ok 10387 no-restricted-syntax valid () => 5
> ok 10388 no-restricted-syntax valid ({ foo: 1, bar: 2 })
> ok 10389 no-restricted-syntax valid A: for (;;) break;
> ok 10390 no-restricted-syntax valid function foo(bar, baz) {}
> ok 10391 no-restricted-syntax valid var foo = 42;
> ok 10392 no-restricted-syntax valid ({ foo: 1, bar: 2 })
> ok 10393 no-restricted-syntax valid ({ foo: 1, bar: 2 })
> ok 10394 no-restricted-syntax valid console.log(/a/);
> ok 10395 no-restricted-syntax invalid var foo = 41;
> ok 10396 no-restricted-syntax invalid ;function lol(a) { return 42; }
> ok 10397 no-restricted-syntax invalid try { voila(); } catch (e) { oops(); }
> ok 10398 no-restricted-syntax invalid bar;
> ok 10399 no-restricted-syntax invalid bar;
> ok 10400 no-restricted-syntax invalid () => {}
> ok 10401 no-restricted-syntax invalid ({ foo: 1, 'bar': 2 })
> ok 10402 no-restricted-syntax invalid A: for (;;) break A;
> ok 10403 no-restricted-syntax invalid function foo(bar, baz, qux) {}
> ok 10404 no-restricted-syntax invalid var foo = 41;
> ok 10405 no-restricted-syntax invalid function foo(bar, baz, qux) {}
> ok 10406 no-restricted-syntax invalid function foo(bar, baz, qux) {}
> ok 10407 no-restricted-syntax invalid function foo(bar, baz, qux) {}
> ok 10408 no-restricted-syntax invalid console.log(/a/i);
> ok 10409 no-return-assign valid module.exports = {'a': 1};
> ok 10410 no-return-assign valid var result = a * b;
> ok 10411 no-return-assign valid function x() { var result = a * b; return result; }
> ok 10412 no-return-assign valid function x() { return (result = a * b); }
> ok 10413 no-return-assign valid function x() { var result = a * b; return result; }
> ok 10414 no-return-assign valid function x() { return (result = a * b); }
> ok 10415 no-return-assign valid function x() { var result = a * b; return result; }
> ok 10416 no-return-assign valid function x() { return function y() { result = a * b }; }
> ok 10417 no-return-assign valid () => { return (result = a * b); }
> ok 10418 no-return-assign valid () => (result = a * b)
> ok 10419 no-return-assign invalid function x() { return result = a * b; };
> ok 10420 no-return-assign invalid function x() { return (result) = (a * b); };
> ok 10421 no-return-assign invalid function x() { return result = a * b; };
> ok 10422 no-return-assign invalid function x() { return (result) = (a * b); };
> ok 10423 no-return-assign invalid () => { return result = a * b; }
> ok 10424 no-return-assign invalid () => result = a * b
> ok 10425 no-return-assign invalid function x() { return result = a * b; };
> ok 10426 no-return-assign invalid function x() { return (result = a * b); };
> ok 10427 no-return-assign invalid function x() { return result || (result = a * b); };
> ok 10428 no-return-await valid 
> async function foo() {
> 	await bar(); return;
> }
> 
> ok 10429 no-return-await valid 
> async function foo() {
> 	const x = await bar(); return x;
> }
> 
> ok 10430 no-return-await valid 
> async () => { return bar(); }
> 
> ok 10431 no-return-await valid 
> async () => bar()
> 
> ok 10432 no-return-await valid 
> async function foo() {
> if (a) {
> 		if (b) {
> 			return bar();
> 		}
> 	}
> }
> 
> ok 10433 no-return-await valid 
> async () => {
> if (a) {
> 		if (b) {
> 			return bar();
> 		}
> 	}
> }
> 
> ok 10434 no-return-await valid 
> async function foo() {
> 	return (await bar() && a);
> }
> 
> ok 10435 no-return-await valid 
> async function foo() {
> 	return (await bar() || a);
> }
> 
> ok 10436 no-return-await valid 
> async function foo() {
> 	return (a && await baz() && b);
> }
> 
> ok 10437 no-return-await valid 
> async function foo() {
> 	return (await bar(), a);
> }
> 
> ok 10438 no-return-await valid 
> async function foo() {
> 	return (await baz(), await bar(), a);
> }
> 
> ok 10439 no-return-await valid 
> async function foo() {
> 	return (a, b, (await bar(), c));
> }
> 
> ok 10440 no-return-await valid 
> async function foo() {
> 	return (await bar() ? a : b);
> }
> 
> ok 10441 no-return-await valid 
> async function foo() {
> 	return ((a && await bar()) ? b : c);
> }
> 
> ok 10442 no-return-await valid 
> async function foo() {
> 	return (baz() ? (await bar(), a) : b);
> }
> 
> ok 10443 no-return-await valid 
> async function foo() {
> 	return (baz() ? (await bar() && a) : b);
> }
> 
> ok 10444 no-return-await valid 
> async function foo() {
> 	return (baz() ? a : (await bar(), b));
> }
> 
> ok 10445 no-return-await valid 
> async function foo() {
> 	return (baz() ? a : (await bar() && b));
> }
> 
> ok 10446 no-return-await valid 
> async () => (await bar(), a)
> 
> ok 10447 no-return-await valid 
> async () => (await bar() && a)
> 
> ok 10448 no-return-await valid 
> async () => (await bar() || a)
> 
> ok 10449 no-return-await valid 
> async () => (a && await bar() && b)
> 
> ok 10450 no-return-await valid 
> async () => (await baz(), await bar(), a)
> 
> ok 10451 no-return-await valid 
> async () => (a, b, (await bar(), c))
> 
> ok 10452 no-return-await valid 
> async () => (await bar() ? a : b)
> 
> ok 10453 no-return-await valid 
> async () => ((a && await bar()) ? b : c)
> 
> ok 10454 no-return-await valid 
> async () => (baz() ? (await bar(), a) : b)
> 
> ok 10455 no-return-await valid 
> async () => (baz() ? (await bar() && a) : b)
> 
> ok 10456 no-return-await valid 
> async () => (baz() ? a : (await bar(), b))
> 
> ok 10457 no-return-await valid 
> async () => (baz() ? a : (await bar() && b))
> 
> ok 10458 no-return-await valid 
>           async function foo() {
>             try {
>               return await bar();
>             } catch (e) {
>               baz();
>             }
>           }
>         
> ok 10459 no-return-await valid 
>           async function foo() {
>             try {
>               return await bar();
>             } finally {
>               baz();
>             }
>           }
>         
> ok 10460 no-return-await valid 
>           async function foo() {
>             try {}
>             catch (e) {
>               return await bar();
>             } finally {
>               baz();
>             }
>           }
>         
> ok 10461 no-return-await valid 
>           async function foo() {
>             try {
>               try {}
>               finally {
>                 return await bar();
>               }
>             } finally {
>               baz();
>             }
>           }
>         
> ok 10462 no-return-await valid 
>           async function foo() {
>             try {
>               try {}
>               catch (e) {
>                 return await bar();
>               }
>             } finally {
>               baz();
>             }
>           }
>         
> ok 10463 no-return-await valid 
>           async function foo() {
>             try {
>               return (a, await bar());
>             } catch (e) {
>               baz();
>             }
>           }
>         
> ok 10464 no-return-await valid 
>           async function foo() {
>             try {
>               return (qux() ? await bar() : b);
>             } catch (e) {
>               baz();
>             }
>           }
>         
> ok 10465 no-return-await valid 
>           async function foo() {
>             try {
>               return (a && await bar());
>             } catch (e) {
>               baz();
>             }
>           }
>         
> ok 10466 no-return-await invalid 
> async function foo() {
> 	return await bar();
> }
> 
> ok 10467 no-return-await invalid 
> async function foo() {
> 	return (a, await bar());
> }
> 
> ok 10468 no-return-await invalid 
> async function foo() {
> 	return (a, b, await bar());
> }
> 
> ok 10469 no-return-await invalid 
> async function foo() {
> 	return (a && await bar());
> }
> 
> ok 10470 no-return-await invalid 
> async function foo() {
> 	return (a && b && await bar());
> }
> 
> ok 10471 no-return-await invalid 
> async function foo() {
> 	return (a || await bar());
> }
> 
> ok 10472 no-return-await invalid 
> async function foo() {
> 	return (a, b, (c, d, await bar()));
> }
> 
> ok 10473 no-return-await invalid 
> async function foo() {
> 	return (a, b, (c && await bar()));
> }
> 
> ok 10474 no-return-await invalid 
> async function foo() {
> 	return (await baz(), b, await bar());
> }
> 
> ok 10475 no-return-await invalid 
> async function foo() {
> 	return (baz() ? await bar() : b);
> }
> 
> ok 10476 no-return-await invalid 
> async function foo() {
> 	return (baz() ? a : await bar());
> }
> 
> ok 10477 no-return-await invalid 
> async function foo() {
> 	return (baz() ? (a, await bar()) : b);
> }
> 
> ok 10478 no-return-await invalid 
> async function foo() {
> 	return (baz() ? a : (b, await bar()));
> }
> 
> ok 10479 no-return-await invalid 
> async function foo() {
> 	return (baz() ? (a && await bar()) : b);
> }
> 
> ok 10480 no-return-await invalid 
> async function foo() {
> 	return (baz() ? a : (b && await bar()));
> }
> 
> ok 10481 no-return-await invalid 
> async () => { return await bar(); }
> 
> ok 10482 no-return-await invalid 
> async () => await bar()
> 
> ok 10483 no-return-await invalid 
> async () => (a, b, await bar())
> 
> ok 10484 no-return-await invalid 
> async () => (a && await bar())
> 
> ok 10485 no-return-await invalid 
> async () => (baz() ? await bar() : b)
> 
> ok 10486 no-return-await invalid 
> async () => (baz() ? a : (b, await bar()))
> 
> ok 10487 no-return-await invalid 
> async () => (baz() ? a : (b && await bar()))
> 
> ok 10488 no-return-await invalid 
> async function foo() {
> if (a) {
> 		if (b) {
> 			return await bar();
> 		}
> 	}
> }
> 
> ok 10489 no-return-await invalid 
> async () => {
> if (a) {
> 		if (b) {
> 			return await bar();
> 		}
> 	}
> }
> 
> ok 10490 no-return-await invalid 
>               async function foo() {
>                 try {}
>                 finally {
>                   return await bar();
>                 }
>               }
>             
> ok 10491 no-return-await invalid 
>               async function foo() {
>                 try {}
>                 catch (e) {
>                   return await bar();
>                 }
>               }
>             
> ok 10492 no-return-await invalid 
>               try {
>                 async function foo() {
>                   return await bar();
>                 }
>               } catch (e) {}
>             
> ok 10493 no-return-await invalid 
>               try {
>                 async () => await bar();
>               } catch (e) {}
>             
> ok 10494 no-return-await invalid 
>               async function foo() {
>                 try {}
>                 catch (e) {
>                   try {}
>                   catch (e) {
>                     return await bar();
>                   }
>                 }
>               }
>             
> ok 10495 no-script-url valid var a = 'Hello World!';
> ok 10496 no-script-url valid var a = 10;
> ok 10497 no-script-url valid var url = 'xjavascript:'
> ok 10498 no-script-url invalid var a = 'javascript:void(0);';
> ok 10499 no-script-url invalid var a = 'javascript:';
> ok 10500 no-self-assign valid var a = a
> ok 10501 no-self-assign valid a = b
> ok 10502 no-self-assign valid a += a
> ok 10503 no-self-assign valid a = +a
> ok 10504 no-self-assign valid a = [a]
> ok 10505 no-self-assign valid let a = a
> ok 10506 no-self-assign valid const a = a
> ok 10507 no-self-assign valid [a] = a
> ok 10508 no-self-assign valid [a = 1] = [a]
> ok 10509 no-self-assign valid [a, b] = [b, a]
> ok 10510 no-self-assign valid [a,, b] = [, b, a]
> ok 10511 no-self-assign valid [x, a] = [...x, a]
> ok 10512 no-self-assign valid [a, b] = {a, b}
> ok 10513 no-self-assign valid ({a} = a)
> ok 10514 no-self-assign valid ({a = 1} = {a})
> ok 10515 no-self-assign valid ({a: b} = {a})
> ok 10516 no-self-assign valid ({a} = {a: b})
> ok 10517 no-self-assign valid ({a} = {a() {}})
> ok 10518 no-self-assign valid ({a} = {[a]: a})
> ok 10519 no-self-assign valid ({a, ...b} = {a, ...b})
> ok 10520 no-self-assign valid a.b = a.c
> ok 10521 no-self-assign valid a.b = c.b
> ok 10522 no-self-assign valid a.b = a[b]
> ok 10523 no-self-assign valid a[b] = a.b
> ok 10524 no-self-assign valid a.b().c = a.b().c
> ok 10525 no-self-assign valid b().c = b().c
> ok 10526 no-self-assign valid a[b + 1] = a[b + 1]
> ok 10527 no-self-assign valid a.b = a.b
> ok 10528 no-self-assign valid a.b.c = a.b.c
> ok 10529 no-self-assign valid a[b] = a[b]
> ok 10530 no-self-assign valid a['b'] = a['b']
> ok 10531 no-self-assign valid a[
>     'b'
> ] = a[
>     'b'
> ]
> ok 10532 no-self-assign invalid a = a
> ok 10533 no-self-assign invalid [a] = [a]
> ok 10534 no-self-assign invalid [a, b] = [a, b]
> ok 10535 no-self-assign invalid [a, b] = [a, c]
> ok 10536 no-self-assign invalid [a, b] = [, b]
> ok 10537 no-self-assign invalid [a, ...b] = [a, ...b]
> ok 10538 no-self-assign invalid [[a], {b}] = [[a], {b}]
> ok 10539 no-self-assign invalid ({a} = {a})
> ok 10540 no-self-assign invalid ({a: b} = {a: b})
> ok 10541 no-self-assign invalid ({a, b} = {a, b})
> ok 10542 no-self-assign invalid ({a, b} = {b, a})
> ok 10543 no-self-assign invalid ({a, b} = {c, a})
> ok 10544 no-self-assign invalid ({a: {b}, c: [d]} = {a: {b}, c: [d]})
> ok 10545 no-self-assign invalid ({a, b} = {a, ...x, b})
> ok 10546 no-self-assign invalid a.b = a.b
> ok 10547 no-self-assign invalid a.b.c = a.b.c
> ok 10548 no-self-assign invalid a[b] = a[b]
> ok 10549 no-self-assign invalid a['b'] = a['b']
> ok 10550 no-self-assign invalid a[
>     'b'
> ] = a[
>     'b'
> ]
> ok 10551 no-self-assign invalid a.b = a.b
> ok 10552 no-self-assign invalid a.b.c = a.b.c
> ok 10553 no-self-assign invalid a[b] = a[b]
> ok 10554 no-self-assign invalid a['b'] = a['b']
> ok 10555 no-self-assign invalid a[
>     'b'
> ] = a[
>     'b'
> ]
> ok 10556 no-self-compare valid if (x === y) { }
> ok 10557 no-self-compare valid if (1 === 2) { }
> ok 10558 no-self-compare valid y=x*x
> ok 10559 no-self-compare valid foo.bar.baz === foo.bar.qux
> ok 10560 no-self-compare invalid if (x === x) { }
> ok 10561 no-self-compare invalid if (x !== x) { }
> ok 10562 no-self-compare invalid if (x > x) { }
> ok 10563 no-self-compare invalid if ('x' > 'x') { }
> ok 10564 no-self-compare invalid do {} while (x === x)
> ok 10565 no-self-compare invalid x === x
> ok 10566 no-self-compare invalid x !== x
> ok 10567 no-self-compare invalid x == x
> ok 10568 no-self-compare invalid x != x
> ok 10569 no-self-compare invalid x > x
> ok 10570 no-self-compare invalid x < x
> ok 10571 no-self-compare invalid x >= x
> ok 10572 no-self-compare invalid x <= x
> ok 10573 no-self-compare invalid foo.bar().baz.qux >= foo.bar ().baz .qux
> ok 10574 no-sequences valid var arr = [1, 2];
> ok 10575 no-sequences valid var obj = {a: 1, b: 2};
> ok 10576 no-sequences valid var a = 1, b = 2;
> ok 10577 no-sequences valid var foo = (1, 2);
> ok 10578 no-sequences valid (0,eval)("foo()");
> ok 10579 no-sequences valid for (i = 1, j = 2;; i++, j++);
> ok 10580 no-sequences valid foo(a, (b, c), d);
> ok 10581 no-sequences valid do {} while ((doSomething(), !!test));
> ok 10582 no-sequences valid for ((doSomething(), somethingElse()); (doSomething(), !!test); );
> ok 10583 no-sequences valid if ((doSomething(), !!test));
> ok 10584 no-sequences valid switch ((doSomething(), !!test)) {}
> ok 10585 no-sequences valid while ((doSomething(), !!test));
> ok 10586 no-sequences valid with ((doSomething(), val)) {}
> ok 10587 no-sequences valid a => ((doSomething(), a))
> ok 10588 no-sequences invalid a = 1, 2
> ok 10589 no-sequences invalid do {} while (doSomething(), !!test);
> ok 10590 no-sequences invalid for (; doSomething(), !!test; );
> ok 10591 no-sequences invalid if (doSomething(), !!test);
> ok 10592 no-sequences invalid switch (doSomething(), val) {}
> ok 10593 no-sequences invalid while (doSomething(), !!test);
> ok 10594 no-sequences invalid with (doSomething(), val) {}
> ok 10595 no-sequences invalid a => (doSomething(), a)
> ok 10596 no-shadow-restricted-names valid function foo(bar){ var baz; }
> ok 10597 no-shadow-restricted-names valid !function foo(bar){ var baz; }
> ok 10598 no-shadow-restricted-names valid !function(bar){ var baz; }
> ok 10599 no-shadow-restricted-names valid try {} catch(e) {}
> ok 10600 no-shadow-restricted-names valid export default function() {}
> ok 10601 no-shadow-restricted-names valid try {} catch {}
> ok 10602 no-shadow-restricted-names valid var undefined;
> ok 10603 no-shadow-restricted-names valid var undefined; doSomething(undefined);
> ok 10604 no-shadow-restricted-names valid var undefined; var undefined;
> ok 10605 no-shadow-restricted-names valid let undefined
> ok 10606 no-shadow-restricted-names invalid function NaN(NaN) { var NaN; !function NaN(NaN) { try {} catch(NaN) {} }; }
> ok 10607 no-shadow-restricted-names invalid function undefined(undefined) { !function undefined(undefined) { try {} catch(undefined) {} }; }
> ok 10608 no-shadow-restricted-names invalid function Infinity(Infinity) { var Infinity; !function Infinity(Infinity) { try {} catch(Infinity) {} }; }
> ok 10609 no-shadow-restricted-names invalid function arguments(arguments) { var arguments; !function arguments(arguments) { try {} catch(arguments) {} }; }
> ok 10610 no-shadow-restricted-names invalid function eval(eval) { var eval; !function eval(eval) { try {} catch(eval) {} }; }
> ok 10611 no-shadow-restricted-names invalid var eval = (eval) => { var eval; !function eval(eval) { try {} catch(eval) {} }; }
> ok 10612 no-shadow-restricted-names invalid var [undefined] = [1]
> ok 10613 no-shadow-restricted-names invalid var {undefined} = obj; var {a: undefined} = obj; var {a: {b: {undefined}}} = obj; var {a, ...undefined} = obj;
> ok 10614 no-shadow-restricted-names invalid var undefined; undefined = 5;
> ok 10615 no-shadow valid var a=3; function b(x) { a++; return x + a; }; setTimeout(function() { b(a); }, 0);
> ok 10616 no-shadow valid (function() { var doSomething = function doSomething() {}; doSomething() }())
> ok 10617 no-shadow valid var arguments;
> function bar() { }
> ok 10618 no-shadow valid var a=3; var b = (x) => { a++; return x + a; }; setTimeout(() => { b(a); }, 0);
> ok 10619 no-shadow valid class A {}
> ok 10620 no-shadow valid class A { constructor() { var a; } }
> ok 10621 no-shadow valid (function() { var A = class A {}; })()
> ok 10622 no-shadow valid { var a; } var a;
> ok 10623 no-shadow valid { let a; } let a;
> ok 10624 no-shadow valid { let a; } var a;
> ok 10625 no-shadow valid { let a; } function a() {}
> ok 10626 no-shadow valid { const a = 0; } const a = 1;
> ok 10627 no-shadow valid { const a = 0; } var a;
> ok 10628 no-shadow valid { const a = 0; } function a() {}
> ok 10629 no-shadow valid function foo() { let a; } let a;
> ok 10630 no-shadow valid function foo() { let a; } var a;
> ok 10631 no-shadow valid function foo() { let a; } function a() {}
> ok 10632 no-shadow valid function foo() { var a; } let a;
> ok 10633 no-shadow valid function foo() { var a; } var a;
> ok 10634 no-shadow valid function foo() { var a; } function a() {}
> ok 10635 no-shadow valid function foo(a) { } let a;
> ok 10636 no-shadow valid function foo(a) { } var a;
> ok 10637 no-shadow valid function foo(a) { } function a() {}
> ok 10638 no-shadow valid { let a; } let a;
> ok 10639 no-shadow valid { let a; } var a;
> ok 10640 no-shadow valid { const a = 0; } const a = 1;
> ok 10641 no-shadow valid { const a = 0; } var a;
> ok 10642 no-shadow valid function foo() { let a; } let a;
> ok 10643 no-shadow valid function foo() { let a; } var a;
> ok 10644 no-shadow valid function foo() { var a; } let a;
> ok 10645 no-shadow valid function foo() { var a; } var a;
> ok 10646 no-shadow valid function foo(a) { } let a;
> ok 10647 no-shadow valid function foo(a) { } var a;
> ok 10648 no-shadow valid function foo() { var Object = 0; }
> ok 10649 no-shadow valid function foo() { var top = 0; }
> ok 10650 no-shadow valid var Object = 0;
> ok 10651 no-shadow valid var top = 0;
> ok 10652 no-shadow valid function foo(cb) { (function (cb) { cb(42); })(cb); }
> ok 10653 no-shadow invalid function a(x) { var b = function c() { var x = 'foo'; }; }
> ok 10654 no-shadow invalid var a = (x) => { var b = () => { var x = 'foo'; }; }
> ok 10655 no-shadow invalid function a(x) { var b = function () { var x = 'foo'; }; }
> ok 10656 no-shadow invalid var x = 1; function a(x) { return ++x; }
> ok 10657 no-shadow invalid var a=3; function b() { var a=10; }
> ok 10658 no-shadow invalid var a=3; function b() { var a=10; }; setTimeout(function() { b(); }, 0);
> ok 10659 no-shadow invalid var a=3; function b() { var a=10; var b=0; }; setTimeout(function() { b(); }, 0);
> ok 10660 no-shadow invalid var x = 1; { let x = 2; }
> ok 10661 no-shadow invalid let x = 1; { const x = 2; }
> ok 10662 no-shadow invalid { let a; } function a() {}
> ok 10663 no-shadow invalid { const a = 0; } function a() {}
> ok 10664 no-shadow invalid function foo() { let a; } function a() {}
> ok 10665 no-shadow invalid function foo() { var a; } function a() {}
> ok 10666 no-shadow invalid function foo(a) { } function a() {}
> ok 10667 no-shadow invalid { let a; } let a;
> ok 10668 no-shadow invalid { let a; } var a;
> ok 10669 no-shadow invalid { let a; } function a() {}
> ok 10670 no-shadow invalid { const a = 0; } const a = 1;
> ok 10671 no-shadow invalid { const a = 0; } var a;
> ok 10672 no-shadow invalid { const a = 0; } function a() {}
> ok 10673 no-shadow invalid function foo() { let a; } let a;
> ok 10674 no-shadow invalid function foo() { let a; } var a;
> ok 10675 no-shadow invalid function foo() { let a; } function a() {}
> ok 10676 no-shadow invalid function foo() { var a; } let a;
> ok 10677 no-shadow invalid function foo() { var a; } var a;
> ok 10678 no-shadow invalid function foo() { var a; } function a() {}
> ok 10679 no-shadow invalid function foo(a) { } let a;
> ok 10680 no-shadow invalid function foo(a) { } var a;
> ok 10681 no-shadow invalid function foo(a) { } function a() {}
> ok 10682 no-shadow invalid (function a() { function a(){} })()
> ok 10683 no-shadow invalid (function a() { class a{} })()
> ok 10684 no-shadow invalid (function a() { (function a(){}); })()
> ok 10685 no-shadow invalid (function a() { (class a{}); })()
> ok 10686 no-shadow invalid (function() { var a = function(a) {}; })()
> ok 10687 no-shadow invalid (function() { var a = function() { function a() {} }; })()
> ok 10688 no-shadow invalid (function() { var a = function() { class a{} }; })()
> ok 10689 no-shadow invalid (function() { var a = function() { (function a() {}); }; })()
> ok 10690 no-shadow invalid (function() { var a = function() { (class a{}); }; })()
> ok 10691 no-shadow invalid (function() { var a = class { constructor() { class a {} } }; })()
> ok 10692 no-shadow invalid class A { constructor() { var A; } }
> ok 10693 no-shadow invalid (function a() { function a(){ function a(){} } })()
> ok 10694 no-shadow invalid function foo() { var Object = 0; }
> ok 10695 no-shadow invalid function foo() { var top = 0; }
> ok 10696 no-shadow invalid var Object = 0;
> ok 10697 no-shadow invalid var top = 0;
> ok 10698 no-shadow invalid var Object = 0;
> ok 10699 no-shadow invalid var top = 0;
> ok 10700 no-shadow invalid function foo(cb) { (function (cb) { cb(42); })(cb); }
> ok 10701 no-spaced-func valid f();
> ok 10702 no-spaced-func valid f(a, b);
> ok 10703 no-spaced-func valid f.b();
> ok 10704 no-spaced-func valid f.b().c();
> ok 10705 no-spaced-func valid f()()
> ok 10706 no-spaced-func valid (function() {}())
> ok 10707 no-spaced-func valid var f = new Foo()
> ok 10708 no-spaced-func valid var f = new Foo
> ok 10709 no-spaced-func valid f( (0) )
> ok 10710 no-spaced-func valid ( f )( 0 )
> ok 10711 no-spaced-func valid ( (f) )( (0) )
> ok 10712 no-spaced-func valid ( f()() )(0)
> ok 10713 no-spaced-func valid (function(){ if (foo) { bar(); } }());
> ok 10714 no-spaced-func valid f(0, (1))
> ok 10715 no-spaced-func valid describe/**/('foo', function () {});
> ok 10716 no-spaced-func valid new (foo())
> ok 10717 no-spaced-func invalid f ();
> ok 10718 no-spaced-func invalid f (a, b);
> ok 10719 no-spaced-func invalid f
> ();
> ok 10720 no-spaced-func invalid f.b ();
> ok 10721 no-spaced-func invalid f.b().c ();
> ok 10722 no-spaced-func invalid f() ()
> ok 10723 no-spaced-func invalid (function() {} ())
> ok 10724 no-spaced-func invalid var f = new Foo ()
> ok 10725 no-spaced-func invalid f ( (0) )
> ok 10726 no-spaced-func invalid f(0) (1)
> ok 10727 no-spaced-func invalid (f) (0)
> ok 10728 no-spaced-func invalid f ();
>  t   ();
> ok 10729 no-sparse-arrays valid var a = [ 1, 2, ]
> ok 10730 no-sparse-arrays invalid var a = [,];
> ok 10731 no-sparse-arrays invalid var a = [ 1,, 2];
> ok 10732 no-sync valid var foo = fs.foo.foo();
> ok 10733 no-sync valid var foo = fs.fooSync;
> ok 10734 no-sync valid if (true) {fs.fooSync();}
> ok 10735 no-sync invalid var foo = fs.fooSync();
> ok 10736 no-sync invalid var foo = fs.fooSync();
> ok 10737 no-sync invalid if (true) {fs.fooSync();}
> ok 10738 no-sync invalid var foo = fs.fooSync;
> ok 10739 no-sync invalid function someFunction() {fs.fooSync();}
> ok 10740 no-sync invalid function someFunction() {fs.fooSync();}
> ok 10741 no-sync invalid var a = function someFunction() {fs.fooSync();}
> ok 10742 no-tabs valid function test(){
> }
> ok 10743 no-tabs valid function test(){
>   //   sdfdsf 
> }
> ok 10744 no-tabs valid 	doSomething();
> ok 10745 no-tabs valid 	// comment
> ok 10746 no-tabs invalid function test(){	}
> ok 10747 no-tabs invalid /** 	 comment test */
> ok 10748 no-tabs invalid function test(){
>   //	sdfdsf 
> }
> ok 10749 no-tabs invalid function	test(){
>   //sdfdsf 
> }
> ok 10750 no-tabs invalid function test(){
>   //	sdfdsf 
> 	}
> ok 10751 no-tabs invalid 	// Comment with leading tab 	 and inline tab
> ok 10752 no-template-curly-in-string valid `Hello, ${name}`;
> ok 10753 no-template-curly-in-string valid templateFunction`Hello, ${name}`;
> ok 10754 no-template-curly-in-string valid `Hello, name`;
> ok 10755 no-template-curly-in-string valid 'Hello, name';
> ok 10756 no-template-curly-in-string valid 'Hello, ' + name;
> ok 10757 no-template-curly-in-string valid `Hello, ${index + 1}`
> ok 10758 no-template-curly-in-string valid `Hello, ${name + " foo"}`
> ok 10759 no-template-curly-in-string valid `Hello, ${name || "foo"}`
> ok 10760 no-template-curly-in-string valid `Hello, ${{foo: "bar"}.foo}`
> ok 10761 no-template-curly-in-string valid '$2'
> ok 10762 no-template-curly-in-string valid '${'
> ok 10763 no-template-curly-in-string valid '$}'
> ok 10764 no-template-curly-in-string valid '{foo}'
> ok 10765 no-template-curly-in-string valid '{foo: "bar"}'
> ok 10766 no-template-curly-in-string valid const number = 3
> ok 10767 no-template-curly-in-string invalid 'Hello, ${name}'
> ok 10768 no-template-curly-in-string invalid "Hello, ${name}"
> ok 10769 no-template-curly-in-string invalid '${greeting}, ${name}'
> ok 10770 no-template-curly-in-string invalid 'Hello, ${index + 1}'
> ok 10771 no-template-curly-in-string invalid 'Hello, ${name + " foo"}'
> ok 10772 no-template-curly-in-string invalid 'Hello, ${name || "foo"}'
> ok 10773 no-template-curly-in-string invalid 'Hello, ${{foo: "bar"}.foo}'
> ok 10774 no-ternary valid "x ? y";
> ok 10775 no-ternary invalid var foo = true ? thing : stuff;
> ok 10776 no-ternary invalid true ? thing() : stuff();
> ok 10777 no-ternary invalid function foo(bar) { return bar ? baz : qux; }
> ok 10778 no-this-before-super valid class A { }
> ok 10779 no-this-before-super valid class A { constructor() { } }
> ok 10780 no-this-before-super valid class A { constructor() { this.b = 0; } }
> ok 10781 no-this-before-super valid class A { constructor() { this.b(); } }
> ok 10782 no-this-before-super valid class A extends null { }
> ok 10783 no-this-before-super valid class A extends null { constructor() { } }
> ok 10784 no-this-before-super valid class A extends B { }
> ok 10785 no-this-before-super valid class A extends B { constructor() { super(); } }
> ok 10786 no-this-before-super valid class A extends B { constructor() { super(); this.c = this.d; } }
> ok 10787 no-this-before-super valid class A extends B { constructor() { super(); this.c(); } }
> ok 10788 no-this-before-super valid class A extends B { constructor() { super(); super.c(); } }
> ok 10789 no-this-before-super valid class A extends B { constructor() { if (true) { super(); } else { super(); } this.c(); } }
> ok 10790 no-this-before-super valid class A extends B { constructor() { class B extends C { constructor() { super(); this.d = 0; } } super(); } }
> ok 10791 no-this-before-super valid class A extends B { constructor() { var B = class extends C { constructor() { super(); this.d = 0; } }; super(); } }
> ok 10792 no-this-before-super valid class A extends B { constructor() { function c() { this.d(); } super(); } }
> ok 10793 no-this-before-super valid class A extends B { constructor() { var c = function c() { this.d(); }; super(); } }
> ok 10794 no-this-before-super valid class A extends B { constructor() { var c = () => this.d(); super(); } }
> ok 10795 no-this-before-super valid class A { b() { this.c = 0; } }
> ok 10796 no-this-before-super valid class A extends B { c() { this.d = 0; } }
> ok 10797 no-this-before-super valid function a() { this.b = 0; }
> ok 10798 no-this-before-super valid class A extends B { constructor() { if (a) { super(); this.a(); } else { super(); this.b(); } } }
> ok 10799 no-this-before-super valid class A extends B { constructor() { if (a) super(); else super(); this.a(); } }
> ok 10800 no-this-before-super valid class A extends B { constructor() { try { super(); } finally {} this.a(); } }
> ok 10801 no-this-before-super valid class A extends B { constructor(a) { super(); for (const b of a) { this.a(); } } }
> ok 10802 no-this-before-super valid class A extends B { constructor(a) { for (const b of a) { foo(b); } super(); } }
> ok 10803 no-this-before-super valid class A extends B { constructor(a) { super(); this.a = a && function(){} && this.foo; } }
> ok 10804 no-this-before-super valid class A extends Object {
>     constructor() {
>         super();
>         for (let i = 0; i < 0; i++);
>         this;
>     }
> }
> ok 10805 no-this-before-super valid class A { constructor() { return; this; } }
> ok 10806 no-this-before-super valid class A extends B { constructor() { return; this; } }
> ok 10807 no-this-before-super valid 
>             class A extends B {
>                 constructor(props) {
>                     super(props);
> 
>                     try {
>                         let arr = [];
>                         for (let a of arr) {
>                         }
>                     } catch (err) {
>                     }
>                 }
>             }
>         
> ok 10808 no-this-before-super invalid class A extends B { constructor() { this.c = 0; } }
> ok 10809 no-this-before-super invalid class A extends B { constructor() { this.c(); } }
> ok 10810 no-this-before-super invalid class A extends B { constructor() { super.c(); } }
> ok 10811 no-this-before-super invalid class A extends B { constructor() { this.c = 0; super(); } }
> ok 10812 no-this-before-super invalid class A extends B { constructor() { this.c(); super(); } }
> ok 10813 no-this-before-super invalid class A extends B { constructor() { super.c(); super(); } }
> ok 10814 no-this-before-super invalid class A extends B { constructor() { super(this.c); } }
> ok 10815 no-this-before-super invalid class A extends B { constructor() { super(this.c()); } }
> ok 10816 no-this-before-super invalid class A extends B { constructor() { super(super.c()); } }
> ok 10817 no-this-before-super invalid class A extends B { constructor() { class C extends D { constructor() { super(); this.e(); } } this.f(); super(); } }
> ok 10818 no-this-before-super invalid class A extends B { constructor() { class C extends D { constructor() { this.e(); super(); } } super(); this.f(); } }
> ok 10819 no-this-before-super invalid class A extends B { constructor() { if (a) super(); this.a(); } }
> ok 10820 no-this-before-super invalid class A extends B { constructor() { try { super(); } finally { this.a; } } }
> ok 10821 no-this-before-super invalid class A extends B { constructor() { try { super(); } catch (err) { } this.a; } }
> ok 10822 no-throw-literal valid throw new Error();
> ok 10823 no-throw-literal valid throw new Error('error');
> ok 10824 no-throw-literal valid throw Error('error');
> ok 10825 no-throw-literal valid var e = new Error(); throw e;
> ok 10826 no-throw-literal valid try {throw new Error();} catch (e) {throw e;};
> ok 10827 no-throw-literal valid throw a;
> ok 10828 no-throw-literal valid throw foo();
> ok 10829 no-throw-literal valid throw new foo();
> ok 10830 no-throw-literal valid throw foo.bar;
> ok 10831 no-throw-literal valid throw foo[bar];
> ok 10832 no-throw-literal valid throw foo = new Error();
> ok 10833 no-throw-literal valid throw 1, 2, new Error();
> ok 10834 no-throw-literal valid throw 'literal' && new Error();
> ok 10835 no-throw-literal valid throw new Error() || 'literal';
> ok 10836 no-throw-literal valid throw foo ? new Error() : 'literal';
> ok 10837 no-throw-literal valid throw foo ? 'literal' : new Error();
> ok 10838 no-throw-literal valid throw tag `${foo}`;
> ok 10839 no-throw-literal valid function* foo() { var index = 0; throw yield index++; }
> ok 10840 no-throw-literal valid async function foo() { throw await bar; }
> ok 10841 no-throw-literal invalid throw 'error';
> ok 10842 no-throw-literal invalid throw 0;
> ok 10843 no-throw-literal invalid throw false;
> ok 10844 no-throw-literal invalid throw null;
> ok 10845 no-throw-literal invalid throw undefined;
> ok 10846 no-throw-literal invalid throw 'a' + 'b';
> ok 10847 no-throw-literal invalid var b = new Error(); throw 'a' + b;
> ok 10848 no-throw-literal invalid throw foo = 'error';
> ok 10849 no-throw-literal invalid throw new Error(), 1, 2, 3;
> ok 10850 no-throw-literal invalid throw 'literal' && 'not an Error';
> ok 10851 no-throw-literal invalid throw foo ? 'not an Error' : 'literal';
> ok 10852 no-throw-literal invalid throw `${err}`;
> ok 10853 no-trailing-spaces valid var a = 5;
> ok 10854 no-trailing-spaces valid var a = 5,
>     b = 3;
> ok 10855 no-trailing-spaces valid var a = 5;
> ok 10856 no-trailing-spaces valid var a = 5,
>     b = 3;
> ok 10857 no-trailing-spaces valid var a = 5,
>     b = 3;
> ok 10858 no-trailing-spaces valid      
> ok 10859 no-trailing-spaces valid 	
> ok 10860 no-trailing-spaces valid      
>     var c = 1;
> ok 10861 no-trailing-spaces valid 	
> 	var c = 2;
> ok 10862 no-trailing-spaces valid 
>    var c = 3;
> ok 10863 no-trailing-spaces valid 
> 	var c = 4;
> ok 10864 no-trailing-spaces valid let str = `${a}
>    
> ${b}`;
> ok 10865 no-trailing-spaces valid let str = `${a}
>    
> ${b}`;
>    
>    
> ok 10866 no-trailing-spaces valid // Trailing comment test. 
> ok 10867 no-trailing-spaces valid // Trailing comment test.
> ok 10868 no-trailing-spaces valid // Trailing comment test.
> ok 10869 no-trailing-spaces valid /* 
> Trailing comments test. 
> */
> ok 10870 no-trailing-spaces valid !/usr/bin/env node 
> ok 10871 no-trailing-spaces invalid var short2 = true;
> 
> 
> 
> module.exports = {
> 
>   short: short,    
> 
>   short2: short
> 
> }
> ok 10872 no-trailing-spaces invalid var short2 = true;
> 
> 
> module.exports = {
> 
>   short: short,    
> 
>   short2: short
> }
> ok 10873 no-trailing-spaces invalid var short2 = true;
> 
> module.exports = {
>   short: short,    
>   short2: short
> }
> 
> ok 10874 no-trailing-spaces invalid var short2 = true;
> 
> module.exports = {
>   short,    
>   short2
> }
> 
> ok 10875 no-trailing-spaces invalid 
> measAr.push("<dl></dl>",  
>          " </dt><dd class ='pta-res'>");
> ok 10876 no-trailing-spaces invalid measAr.push("<dl></dl>",  
>          " </dt><dd class ='pta-res'>");
> ok 10877 no-trailing-spaces invalid var a = 5;      
> 
> ok 10878 no-trailing-spaces invalid var a = 5; 
>  b = 3; 
> ok 10879 no-trailing-spaces invalid var a = 5; 
> 
>  b = 3; 
> ok 10880 no-trailing-spaces invalid var a = 5;	
>   b = 3;
> ok 10881 no-trailing-spaces invalid      
>     var c = 1;
> ok 10882 no-trailing-spaces invalid 	
> 	var c = 2;
> ok 10883 no-trailing-spaces invalid var a = 5;      
> 
> ok 10884 no-trailing-spaces invalid var a = 5; 
>  b = 3; 
> ok 10885 no-trailing-spaces invalid var a = 5;	
>   b = 3;
> ok 10886 no-trailing-spaces invalid      
>     var c = 1;
> ok 10887 no-trailing-spaces invalid 	
> 	var c = 2;
> ok 10888 no-trailing-spaces invalid var a = 'bar';  
>  
> 	
> ok 10889 no-trailing-spaces invalid var a = 'foo';   
> var b = 'bar';  
>   
> 
> ok 10890 no-trailing-spaces invalid let str = `${a}
>   
> ${b}`;  
> 
> ok 10891 no-trailing-spaces invalid let str = `
> ${a}
>   
> ${b}`;  
> 	
> ok 10892 no-trailing-spaces invalid let str = `  
>   ${a}
>   
> ${b}`;  
> 
> ok 10893 no-trailing-spaces invalid let str = `${a}
>   
> ${b}`;  
>   
> 
> ok 10894 no-trailing-spaces invalid     
> abcdefg 
> ok 10895 no-trailing-spaces invalid     
> abcdefg 
> ok 10896 no-trailing-spaces invalid var foo = 'bar'; 
> ok 10897 no-trailing-spaces invalid // Trailing comment test. 
> ok 10898 no-trailing-spaces invalid /* 
> Trailing comments test. 
> */
> ok 10899 no-trailing-spaces invalid !/usr/bin/env node 
> ok 10900 no-trailing-spaces invalid // Trailing comment default test. 
> ok 10901 no-undef-init valid var a;
> ok 10902 no-undef-init valid const foo = undefined
> ok 10903 no-undef-init valid var undefined = 5; var foo = undefined;
> ok 10904 no-undef-init invalid var a = undefined;
> ok 10905 no-undef-init invalid var a = undefined, b = 1;
> ok 10906 no-undef-init invalid var a = 1, b = undefined, c = 5;
> ok 10907 no-undef-init invalid var [a] = undefined;
> ok 10908 no-undef-init invalid var {a} = undefined;
> ok 10909 no-undef-init invalid for(var i in [1,2,3]){var a = undefined; for(var j in [1,2,3]){}}
> ok 10910 no-undef-init invalid let a = undefined;
> ok 10911 no-undef-init invalid let a = undefined, b = 1;
> ok 10912 no-undef-init invalid let a = 1, b = undefined, c = 5;
> ok 10913 no-undef-init invalid let [a] = undefined;
> ok 10914 no-undef-init invalid let {a} = undefined;
> ok 10915 no-undef-init invalid for(var i in [1,2,3]){let a = undefined; for(var j in [1,2,3]){}}
> ok 10916 no-undef valid var a = 1, b = 2; a;
> ok 10917 no-undef valid /*global b*/ function f() { b; }
> ok 10918 no-undef valid function f() { b; }
> ok 10919 no-undef valid /*global b a:false*/  a;  function f() { b; a; }
> ok 10920 no-undef valid function a(){}  a();
> ok 10921 no-undef valid function f(b) { b; }
> ok 10922 no-undef valid var a; a = 1; a++;
> ok 10923 no-undef valid var a; function f() { a = 1; }
> ok 10924 no-undef valid /*global b:true*/ b++;
> ok 10925 no-undef valid /*eslint-env browser*/ window;
> ok 10926 no-undef valid /*eslint-env node*/ require("a");
> ok 10927 no-undef valid Object; isNaN();
> ok 10928 no-undef valid toString()
> ok 10929 no-undef valid hasOwnProperty()
> ok 10930 no-undef valid function evilEval(stuffToEval) { var ultimateAnswer; ultimateAnswer = 42; eval(stuffToEval); }
> ok 10931 no-undef valid typeof a
> ok 10932 no-undef valid typeof (a)
> ok 10933 no-undef valid var b = typeof a
> ok 10934 no-undef valid typeof a === 'undefined'
> ok 10935 no-undef valid if (typeof a === 'undefined') {}
> ok 10936 no-undef valid function foo() { var [a, b=4] = [1, 2]; return {a, b}; }
> ok 10937 no-undef valid var toString = 1;
> ok 10938 no-undef valid function myFunc(...foo) {  return foo;}
> ok 10939 no-undef valid var React, App, a=1; React.render(<App attr={a} />);
> ok 10940 no-undef valid var console; [1,2,3].forEach(obj => {
>   console.log(obj);
> });
> ok 10941 no-undef valid var Foo; class Bar extends Foo { constructor() { super();  }}
> ok 10942 no-undef valid import Warning from '../lib/warning'; var warn = new Warning('text');
> ok 10943 no-undef valid import * as Warning from '../lib/warning'; var warn = new Warning('text');
> ok 10944 no-undef valid var a; [a] = [0];
> ok 10945 no-undef valid var a; ({a} = {});
> ok 10946 no-undef valid var a; ({b: a} = {});
> ok 10947 no-undef valid var obj; [obj.a, obj.b] = [0, 1];
> ok 10948 no-undef valid URLSearchParams;
> ok 10949 no-undef valid Intl;
> ok 10950 no-undef valid IntersectionObserver;
> ok 10951 no-undef valid Credential;
> ok 10952 no-undef valid requestIdleCallback;
> ok 10953 no-undef valid customElements;
> ok 10954 no-undef valid PromiseRejectionEvent;
> ok 10955 no-undef valid /*global b:false*/ function f() { b = 1; }
> ok 10956 no-undef valid function f() { b = 1; }
> ok 10957 no-undef valid /*global b:false*/ function f() { b++; }
> ok 10958 no-undef valid /*global b*/ b = 1;
> ok 10959 no-undef valid /*global b:false*/ var b = 1;
> ok 10960 no-undef valid Array = 1;
> ok 10961 no-undef valid class A { constructor() { new.target; } }
> ok 10962 no-undef valid var {bacon, ...others} = stuff; foo(others)
> ok 10963 no-undef invalid a = 1;
> ok 10964 no-undef invalid if (typeof anUndefinedVar === 'string') {}
> ok 10965 no-undef invalid var a = b;
> ok 10966 no-undef invalid function f() { b; }
> ok 10967 no-undef invalid window;
> ok 10968 no-undef invalid require("a");
> ok 10969 no-undef invalid var React; React.render(<img attr={a} />);
> ok 10970 no-undef invalid var React, App; React.render(<App attr={a} />);
> ok 10971 no-undef invalid [a] = [0];
> ok 10972 no-undef invalid ({a} = {});
> ok 10973 no-undef invalid ({b: a} = {});
> ok 10974 no-undef invalid [obj.a, obj.b] = [0, 1];
> ok 10975 no-undef invalid const c = 0; const a = {...b, c};
> ok 10976 no-undefined valid void 0
> ok 10977 no-undefined valid void!0
> ok 10978 no-undefined valid void-0
> ok 10979 no-undefined valid void+0
> ok 10980 no-undefined valid null
> ok 10981 no-undefined valid undefine
> ok 10982 no-undefined valid ndefined
> ok 10983 no-undefined valid a.undefined
> ok 10984 no-undefined valid this.undefined
> ok 10985 no-undefined valid global['undefined']
> ok 10986 no-undefined valid ({ undefined: bar })
> ok 10987 no-undefined valid ({ undefined: bar } = foo)
> ok 10988 no-undefined valid ({ undefined() {} })
> ok 10989 no-undefined valid class Foo { undefined() {} }
> ok 10990 no-undefined valid (class { undefined() {} })
> ok 10991 no-undefined valid import { undefined as a } from 'foo'
> ok 10992 no-undefined valid export { undefined } from 'foo'
> ok 10993 no-undefined valid export { undefined as a } from 'foo'
> ok 10994 no-undefined valid export { a as undefined } from 'foo'
> ok 10995 no-undefined invalid undefined
> ok 10996 no-undefined invalid undefined.a
> ok 10997 no-undefined invalid a[undefined]
> ok 10998 no-undefined invalid undefined[0]
> ok 10999 no-undefined invalid f(undefined)
> ok 11000 no-undefined invalid function f(undefined) {}
> ok 11001 no-undefined invalid function f() { var undefined; }
> ok 11002 no-undefined invalid function f() { undefined = true; }
> ok 11003 no-undefined invalid var undefined;
> ok 11004 no-undefined invalid try {} catch(undefined) {}
> ok 11005 no-undefined invalid function undefined() {}
> ok 11006 no-undefined invalid (function undefined(){}())
> ok 11007 no-undefined invalid var foo = function undefined() {}
> ok 11008 no-undefined invalid foo = function undefined() {}
> ok 11009 no-undefined invalid undefined = true
> ok 11010 no-undefined invalid var undefined = true
> ok 11011 no-undefined invalid ({ undefined })
> ok 11012 no-undefined invalid ({ [undefined]: foo })
> ok 11013 no-undefined invalid ({ bar: undefined })
> ok 11014 no-undefined invalid ({ bar: undefined } = foo)
> ok 11015 no-undefined invalid var { undefined } = foo
> ok 11016 no-undefined invalid var { bar: undefined } = foo
> ok 11017 no-undefined invalid ({ undefined: function undefined() {} })
> ok 11018 no-undefined invalid ({ foo: function undefined() {} })
> ok 11019 no-undefined invalid class Foo { [undefined]() {} }
> ok 11020 no-undefined invalid (class { [undefined]() {} })
> ok 11021 no-undefined invalid var undefined = true; undefined = false;
> ok 11022 no-undefined invalid import undefined from 'foo'
> ok 11023 no-undefined invalid import * as undefined from 'foo'
> ok 11024 no-undefined invalid import { undefined } from 'foo'
> ok 11025 no-undefined invalid import { a as undefined } from 'foo'
> ok 11026 no-undefined invalid let a = [b, ...undefined]
> ok 11027 no-undefined invalid [a, ...undefined] = b
> ok 11028 no-undefined invalid [a = undefined] = b
> ok 11029 no-underscore-dangle valid var foo_bar = 1;
> ok 11030 no-underscore-dangle valid function foo_bar() {}
> ok 11031 no-underscore-dangle valid foo.bar.__proto__;
> ok 11032 no-underscore-dangle valid console.log(__filename); console.log(__dirname);
> ok 11033 no-underscore-dangle valid var _ = require('underscore');
> ok 11034 no-underscore-dangle valid var a = b._;
> ok 11035 no-underscore-dangle valid export default function() {}
> ok 11036 no-underscore-dangle valid var _foo = 1
> ok 11037 no-underscore-dangle valid var __proto__ = 1;
> ok 11038 no-underscore-dangle valid foo._bar;
> ok 11039 no-underscore-dangle valid function _foo() {}
> ok 11040 no-underscore-dangle valid this._bar;
> ok 11041 no-underscore-dangle valid class foo { constructor() { super._bar; } }
> ok 11042 no-underscore-dangle valid class foo { _onClick() { } }
> ok 11043 no-underscore-dangle valid class foo { onClick_() { } }
> ok 11044 no-underscore-dangle valid const o = { _onClick() { } }
> ok 11045 no-underscore-dangle valid const o = { onClick_() { } }
> ok 11046 no-underscore-dangle valid const o = { _foo: 'bar' }
> ok 11047 no-underscore-dangle valid const o = { foo_: 'bar' }
> ok 11048 no-underscore-dangle invalid var _foo = 1
> ok 11049 no-underscore-dangle invalid var foo_ = 1
> ok 11050 no-underscore-dangle invalid function _foo() {}
> ok 11051 no-underscore-dangle invalid function foo_() {}
> ok 11052 no-underscore-dangle invalid var __proto__ = 1;
> ok 11053 no-underscore-dangle invalid foo._bar;
> ok 11054 no-underscore-dangle invalid this._prop;
> ok 11055 no-underscore-dangle invalid class foo { constructor() { super._prop; } }
> ok 11056 no-underscore-dangle invalid class foo { constructor() { this._prop; } }
> ok 11057 no-underscore-dangle invalid class foo { _onClick() { } }
> ok 11058 no-underscore-dangle invalid class foo { onClick_() { } }
> ok 11059 no-underscore-dangle invalid const o = { _onClick() { } }
> ok 11060 no-underscore-dangle invalid const o = { onClick_() { } }
> ok 11061 no-unexpected-multiline valid (x || y).aFunction()
> ok 11062 no-unexpected-multiline valid [a, b, c].forEach(doSomething)
> ok 11063 no-unexpected-multiline valid var a = b;
> (x || y).doSomething()
> ok 11064 no-unexpected-multiline valid var a = b
> ;(x || y).doSomething()
> ok 11065 no-unexpected-multiline valid var a = b
> void (x || y).doSomething()
> ok 11066 no-unexpected-multiline valid var a = b;
> [1, 2, 3].forEach(console.log)
> ok 11067 no-unexpected-multiline valid var a = b
> void [1, 2, 3].forEach(console.log)
> ok 11068 no-unexpected-multiline valid "abc\
> (123)"
> ok 11069 no-unexpected-multiline valid var a = (
> (123)
> )
> ok 11070 no-unexpected-multiline valid f(
> (x)
> )
> ok 11071 no-unexpected-multiline valid (
> function () {}
> )[1]
> ok 11072 no-unexpected-multiline valid let x = function() {};
>    `hello`
> ok 11073 no-unexpected-multiline valid let x = function() {}
> x `hello`
> ok 11074 no-unexpected-multiline valid String.raw `Hi
> ${2+3}!`;
> ok 11075 no-unexpected-multiline valid x
> .y
> z `Valid Test Case`
> ok 11076 no-unexpected-multiline valid 
>             foo
>             / bar /2
>         
> ok 11077 no-unexpected-multiline valid 
>             foo
>             / bar / mgy
>         
> ok 11078 no-unexpected-multiline valid 
>             foo
>             / bar /
>             gym
>         
> ok 11079 no-unexpected-multiline valid 
>             foo
>             / bar
>             / ygm
>         
> ok 11080 no-unexpected-multiline valid 
>             foo
>             / bar /GYM
>         
> ok 11081 no-unexpected-multiline valid 
>             foo
>             / bar / baz
>         
> ok 11082 no-unexpected-multiline valid foo /bar/g
> ok 11083 no-unexpected-multiline valid 
>             foo
>             /denominator/
>             2
>         
> ok 11084 no-unexpected-multiline valid 
>             foo
>             / /abc/
>         
> ok 11085 no-unexpected-multiline valid 
>             5 / (5
>             / 5)
>         
> ok 11086 no-unexpected-multiline invalid var a = b
> (x || y).doSomething()
> ok 11087 no-unexpected-multiline invalid var a = (a || b)
> (x || y).doSomething()
> ok 11088 no-unexpected-multiline invalid var a = (a || b)
> (x).doSomething()
> ok 11089 no-unexpected-multiline invalid var a = b
> [a, b, c].forEach(doSomething)
> ok 11090 no-unexpected-multiline invalid var a = b
>     (x || y).doSomething()
> ok 11091 no-unexpected-multiline invalid var a = b
>   [a, b, c].forEach(doSomething)
> ok 11092 no-unexpected-multiline invalid let x = function() {}
>  `hello`
> ok 11093 no-unexpected-multiline invalid let x = function() {}
> x
> `hello`
> ok 11094 no-unexpected-multiline invalid x
> .y
> z
> `Invalid Test Case`
> ok 11095 no-unexpected-multiline invalid 
>                 foo
>                 / bar /gym
>             
> ok 11096 no-unexpected-multiline invalid 
>                 foo
>                 / bar /g
>             
> ok 11097 no-unexpected-multiline invalid 
>                 foo
>                 / bar /g.test(baz)
>             
> ok 11098 no-unexpected-multiline invalid 
>                 foo
>                 /bar/gimuygimuygimuy.test(baz)
>             
> ok 11099 no-unexpected-multiline invalid 
>                 foo
>                 /bar/s.test(baz)
>             
> ok 11100 no-unmodified-loop-condition valid var foo = 0; while (foo) { ++foo; }
> ok 11101 no-unmodified-loop-condition valid let foo = 0; while (foo) { ++foo; }
> ok 11102 no-unmodified-loop-condition valid var foo = 0; while (foo) { foo += 1; }
> ok 11103 no-unmodified-loop-condition valid var foo = 0; while (foo++) { }
> ok 11104 no-unmodified-loop-condition valid var foo = 0; while (foo = next()) { }
> ok 11105 no-unmodified-loop-condition valid var foo = 0; while (ok(foo)) { }
> ok 11106 no-unmodified-loop-condition valid var foo = 0, bar = 0; while (++foo < bar) { }
> ok 11107 no-unmodified-loop-condition valid var foo = 0, obj = {}; while (foo === obj.bar) { }
> ok 11108 no-unmodified-loop-condition valid var foo = 0, f = {}, bar = {}; while (foo === f(bar)) { }
> ok 11109 no-unmodified-loop-condition valid var foo = 0, f = {}; while (foo === f()) { }
> ok 11110 no-unmodified-loop-condition valid var foo = 0, tag = 0; while (foo === tag`abc`) { }
> ok 11111 no-unmodified-loop-condition valid function* foo() { var foo = 0; while (yield foo) { } }
> ok 11112 no-unmodified-loop-condition valid function* foo() { var foo = 0; while (foo === (yield)) { } }
> ok 11113 no-unmodified-loop-condition valid var foo = 0; while (foo.ok) { }
> ok 11114 no-unmodified-loop-condition valid var foo = 0; while (foo) { update(); } function update() { ++foo; }
> ok 11115 no-unmodified-loop-condition valid var foo = 0, bar = 9; while (foo < bar) { foo += 1; }
> ok 11116 no-unmodified-loop-condition valid var foo = 0, bar = 1, baz = 2; while (foo ? bar : baz) { foo += 1; }
> ok 11117 no-unmodified-loop-condition valid var foo = 0, bar = 0; while (foo && bar) { ++foo; ++bar; }
> ok 11118 no-unmodified-loop-condition valid var foo = 0, bar = 0; while (foo || bar) { ++foo; ++bar; }
> ok 11119 no-unmodified-loop-condition valid var foo = 0; do { ++foo; } while (foo);
> ok 11120 no-unmodified-loop-condition valid var foo = 0; do { } while (foo++);
> ok 11121 no-unmodified-loop-condition valid for (var foo = 0; foo; ++foo) { }
> ok 11122 no-unmodified-loop-condition valid for (var foo = 0; foo;) { ++foo }
> ok 11123 no-unmodified-loop-condition valid var foo = 0, bar = 0; for (bar; foo;) { ++foo }
> ok 11124 no-unmodified-loop-condition valid var foo; if (foo) { }
> ok 11125 no-unmodified-loop-condition valid var a = [1, 2, 3]; var len = a.length; for (var i = 0; i < len - 1; i++) {}
> ok 11126 no-unmodified-loop-condition invalid var foo = 0; while (foo) { } foo = 1;
> ok 11127 no-unmodified-loop-condition invalid var foo = 0; while (!foo) { } foo = 1;
> ok 11128 no-unmodified-loop-condition invalid var foo = 0; while (foo != null) { } foo = 1;
> ok 11129 no-unmodified-loop-condition invalid var foo = 0, bar = 9; while (foo < bar) { } foo = 1;
> ok 11130 no-unmodified-loop-condition invalid var foo = 0, bar = 0; while (foo && bar) { ++bar; } foo = 1;
> ok 11131 no-unmodified-loop-condition invalid var foo = 0, bar = 0; while (foo && bar) { ++foo; } foo = 1;
> ok 11132 no-unmodified-loop-condition invalid var a, b, c; while (a < c && b < c) { ++a; } foo = 1;
> ok 11133 no-unmodified-loop-condition invalid var foo = 0; while (foo ? 1 : 0) { } foo = 1;
> ok 11134 no-unmodified-loop-condition invalid var foo = 0; while (foo) { update(); } function update(foo) { ++foo; }
> ok 11135 no-unmodified-loop-condition invalid var foo; do { } while (foo);
> ok 11136 no-unmodified-loop-condition invalid for (var foo = 0; foo < 10; ) { } foo = 1;
> ok 11137 no-unneeded-ternary valid config.newIsCap = config.newIsCap !== false
> ok 11138 no-unneeded-ternary valid var a = x === 2 ? 'Yes' : 'No';
> ok 11139 no-unneeded-ternary valid var a = x === 2 ? true : 'No';
> ok 11140 no-unneeded-ternary valid var a = x === 2 ? 'Yes' : false;
> ok 11141 no-unneeded-ternary valid var a = x === 2 ? 'true' : 'false';
> ok 11142 no-unneeded-ternary valid var a = foo ? foo : bar;
> ok 11143 no-unneeded-ternary valid var value = 'a';var canSet = true;var result = value || (canSet ? 'unset' : 'can not set')
> ok 11144 no-unneeded-ternary valid var a = foo ? 'Yes' : foo;
> ok 11145 no-unneeded-ternary valid var a = foo ? bar : foo;
> ok 11146 no-unneeded-ternary invalid var a = x === 2 ? true : false;
> ok 11147 no-unneeded-ternary invalid var a = x >= 2 ? true : false;
> ok 11148 no-unneeded-ternary invalid var a = x ? true : false;
> ok 11149 no-unneeded-ternary invalid var a = x === 1 ? false : true;
> ok 11150 no-unneeded-ternary invalid var a = x != 1 ? false : true;
> ok 11151 no-unneeded-ternary invalid var a = foo() ? false : true;
> ok 11152 no-unneeded-ternary invalid var a = !foo() ? false : true;
> ok 11153 no-unneeded-ternary invalid var a = foo + bar ? false : true;
> ok 11154 no-unneeded-ternary invalid var a = x instanceof foo ? false : true;
> ok 11155 no-unneeded-ternary invalid var a = foo ? false : false;
> ok 11156 no-unneeded-ternary invalid var a = foo() ? false : false;
> ok 11157 no-unneeded-ternary invalid var a = x instanceof foo ? true : false;
> ok 11158 no-unneeded-ternary invalid var a = !foo ? true : false;
> ok 11159 no-unneeded-ternary invalid 
>                 var value = 'a'
>                 var canSet = true
>                 var result = value ? value : canSet ? 'unset' : 'can not set'
>             
> ok 11160 no-unneeded-ternary invalid foo ? foo : (bar ? baz : qux)
> ok 11161 no-unneeded-ternary invalid function* fn() { foo ? foo : yield bar }
> ok 11162 no-unneeded-ternary invalid var a = foo ? foo : 'No';
> ok 11163 no-unneeded-ternary invalid var a = ((foo)) ? (((((foo))))) : ((((((((((((((bar))))))))))))));
> ok 11164 no-unreachable valid function foo() { function bar() { return 1; } return bar(); }
> ok 11165 no-unreachable valid function foo() { return bar(); function bar() { return 1; } }
> ok 11166 no-unreachable valid function foo() { return x; var x; }
> ok 11167 no-unreachable valid function foo() { var x = 1; var y = 2; }
> ok 11168 no-unreachable valid function foo() { var x = 1; var y = 2; return; }
> ok 11169 no-unreachable valid while (true) { switch (foo) { case 1: x = 1; x = 2;} }
> ok 11170 no-unreachable valid while (true) { break; var x; }
> ok 11171 no-unreachable valid while (true) { continue; var x, y; }
> ok 11172 no-unreachable valid while (true) { throw 'message'; var x; }
> ok 11173 no-unreachable valid while (true) { if (true) break; var x = 1; }
> ok 11174 no-unreachable valid while (true) continue;
> ok 11175 no-unreachable valid switch (foo) { case 1: break; var x; }
> ok 11176 no-unreachable valid switch (foo) { case 1: break; var x; default: throw true; };
> ok 11177 no-unreachable valid const arrow_direction = arrow => {  switch (arrow) { default: throw new Error();  };}
> ok 11178 no-unreachable valid var x = 1; y = 2; throw 'uh oh'; var y;
> ok 11179 no-unreachable valid function foo() { var x = 1; if (x) { return; } x = 2; }
> ok 11180 no-unreachable valid function foo() { var x = 1; if (x) { } else { return; } x = 2; }
> ok 11181 no-unreachable valid function foo() { var x = 1; switch (x) { case 0: break; default: return; } x = 2; }
> ok 11182 no-unreachable valid function foo() { var x = 1; while (x) { return; } x = 2; }
> ok 11183 no-unreachable valid function foo() { var x = 1; for (x in {}) { return; } x = 2; }
> ok 11184 no-unreachable valid function foo() { var x = 1; try { return; } finally { x = 2; } }
> ok 11185 no-unreachable valid function foo() { var x = 1; for (;;) { if (x) break; } x = 2; }
> ok 11186 no-unreachable valid A: { break A; } foo()
> ok 11187 no-unreachable invalid function foo() { return x; var x = 1; }
> ok 11188 no-unreachable invalid function foo() { return x; var x, y = 1; }
> ok 11189 no-unreachable invalid while (true) { continue; var x = 1; }
> ok 11190 no-unreachable invalid function foo() { return; x = 1; }
> ok 11191 no-unreachable invalid function foo() { throw error; x = 1; }
> ok 11192 no-unreachable invalid while (true) { break; x = 1; }
> ok 11193 no-unreachable invalid while (true) { continue; x = 1; }
> ok 11194 no-unreachable invalid function foo() { switch (foo) { case 1: return; x = 1; } }
> ok 11195 no-unreachable invalid function foo() { switch (foo) { case 1: throw e; x = 1; } }
> ok 11196 no-unreachable invalid while (true) { switch (foo) { case 1: break; x = 1; } }
> ok 11197 no-unreachable invalid while (true) { switch (foo) { case 1: continue; x = 1; } }
> ok 11198 no-unreachable invalid var x = 1; throw 'uh oh'; var y = 2;
> ok 11199 no-unreachable invalid function foo() { var x = 1; if (x) { return; } else { throw e; } x = 2; }
> ok 11200 no-unreachable invalid function foo() { var x = 1; if (x) return; else throw -1; x = 2; }
> ok 11201 no-unreachable invalid function foo() { var x = 1; try { return; } finally {} x = 2; }
> ok 11202 no-unreachable invalid function foo() { var x = 1; try { } finally { return; } x = 2; }
> ok 11203 no-unreachable invalid function foo() { var x = 1; do { return; } while (x); x = 2; }
> ok 11204 no-unreachable invalid function foo() { var x = 1; while (x) { if (x) break; else continue; x = 2; } }
> ok 11205 no-unreachable invalid function foo() { var x = 1; for (;;) { if (x) continue; } x = 2; }
> ok 11206 no-unreachable invalid function foo() { var x = 1; while (true) { } x = 2; }
> ok 11207 no-unreachable invalid const arrow_direction = arrow => {  switch (arrow) { default: throw new Error();  }; g() }
> ok 11208 no-unreachable invalid 
>                 function foo() {
>                     return;
> 
>                     a();  // ← ERROR: Unreachable code. (no-unreachable)
> 
>                     b()   // ↑ ';' token is included in the unreachable code, so this statement will be merged.
>                     // comment
>                     c();  // ↑ ')' token is included in the unreachable code, so this statement will be merged.
>                 }
>             
> ok 11209 no-unreachable invalid 
>                 function foo() {
>                     return;
> 
>                     a();
> 
>                     if (b()) {
>                         c()
>                     } else {
>                         d()
>                     }
>                 }
>             
> ok 11210 no-unreachable invalid 
>                 function foo() {
>                     if (a) {
>                         return
>                         b();
>                         c();
>                     } else {
>                         throw err
>                         d();
>                     }
>                 }
>             
> ok 11211 no-unreachable invalid 
>                 function foo() {
>                     if (a) {
>                         return
>                         b();
>                         c();
>                     } else {
>                         throw err
>                         d();
>                     }
>                     e();
>                 }
>             
> ok 11212 no-unsafe-finally valid var foo = function() {
>  try { 
>  return 1; 
>  } catch(err) { 
>  return 2; 
>  } finally { 
>  console.log('hola!') 
>  } 
>  }
> ok 11213 no-unsafe-finally valid var foo = function() { try { return 1 } catch(err) { return 2 } finally { console.log('hola!') } }
> ok 11214 no-unsafe-finally valid var foo = function() { try { return 1 } catch(err) { return 2 } finally { function a(x) { return x } } }
> ok 11215 no-unsafe-finally valid var foo = function() { try { return 1 } catch(err) { return 2 } finally { var a = function(x) { if(!x) { throw new Error() } } } }
> ok 11216 no-unsafe-finally valid var foo = function() { try { return 1 } catch(err) { return 2 } finally { var a = function(x) { while(true) { if(x) { break } else { continue } } } } }
> ok 11217 no-unsafe-finally valid var foo = function() { try { return 1 } catch(err) { return 2 } finally { var a = function(x) { label: while(true) { if(x) { break label; } else { continue } } } } }
> ok 11218 no-unsafe-finally valid var foo = function() { try {} finally { while (true) break; } }
> ok 11219 no-unsafe-finally valid var foo = function() { try {} finally { while (true) continue; } }
> ok 11220 no-unsafe-finally valid var foo = function() { try {} finally { switch (true) { case true: break; } } }
> ok 11221 no-unsafe-finally valid var foo = function() { try {} finally { do { break; } while (true) } }
> ok 11222 no-unsafe-finally valid var foo = function() { try { return 1; } catch(err) { return 2; } finally { var bar = () => { throw new Error(); }; } };
> ok 11223 no-unsafe-finally valid var foo = function() { try { return 1; } catch(err) { return 2 } finally { (x) => x } }
> ok 11224 no-unsafe-finally valid var foo = function() { try { return 1; } finally { class bar { constructor() {} static ehm() { return 'Hola!'; } } } };
> ok 11225 no-unsafe-finally invalid var foo = function() { 
>  try { 
>  return 1; 
>  } catch(err) { 
>  return 2; 
>  } finally { 
>  return 3; 
>  } 
>  }
> ok 11226 no-unsafe-finally invalid var foo = function() { try { return 1 } catch(err) { return 2 } finally { if(true) { return 3 } else { return 2 } } }
> ok 11227 no-unsafe-finally invalid var foo = function() { try { return 1 } catch(err) { return 2 } finally { return 3 } }
> ok 11228 no-unsafe-finally invalid var foo = function() { try { return 1 } catch(err) { return 2 } finally { return function(x) { return y } } }
> ok 11229 no-unsafe-finally invalid var foo = function() { try { return 1 } catch(err) { return 2 } finally { return { x: function(c) { return c } } } }
> ok 11230 no-unsafe-finally invalid var foo = function() { try { return 1 } catch(err) { return 2 } finally { throw new Error() } }
> ok 11231 no-unsafe-finally invalid var foo = function() { try { foo(); } finally { try { bar(); } finally { return; } } };
> ok 11232 no-unsafe-finally invalid var foo = function() { label: try { return 0; } finally { break label; } return 1; }
> ok 11233 no-unsafe-finally invalid var foo = function() { 
>  a: try { 
>  return 1; 
>  } catch(err) { 
>  return 2; 
>  } finally { 
>  break a; 
>  } 
>  }
> ok 11234 no-unsafe-finally invalid var foo = function() { while (true) try {} finally { break; } }
> ok 11235 no-unsafe-finally invalid var foo = function() { while (true) try {} finally { continue; } }
> ok 11236 no-unsafe-finally invalid var foo = function() { switch (true) { case true: try {} finally { break; } } }
> ok 11237 no-unsafe-finally invalid var foo = function() { a: while (true) try {} finally { switch (true) { case true: break a; } } }
> ok 11238 no-unsafe-finally invalid var foo = function() { a: while (true) try {} finally { switch (true) { case true: continue; } } }
> ok 11239 no-unsafe-finally invalid var foo = function() { a: switch (true) { case true: try {} finally { switch (true) { case true: break a; } } } }
> ok 11240 no-unsafe-negation valid a in b
> ok 11241 no-unsafe-negation valid a in b === false
> ok 11242 no-unsafe-negation valid !(a in b)
> ok 11243 no-unsafe-negation valid (!a) in b
> ok 11244 no-unsafe-negation valid a instanceof b
> ok 11245 no-unsafe-negation valid a instanceof b === false
> ok 11246 no-unsafe-negation valid !(a instanceof b)
> ok 11247 no-unsafe-negation valid (!a) instanceof b
> ok 11248 no-unsafe-negation invalid !a in b
> ok 11249 no-unsafe-negation invalid (!a in b)
> ok 11250 no-unsafe-negation invalid !(a) in b
> ok 11251 no-unsafe-negation invalid !a instanceof b
> ok 11252 no-unsafe-negation invalid (!a instanceof b)
> ok 11253 no-unsafe-negation invalid !(a) instanceof b
> ok 11254 no-unused-expressions valid function f(){}
> ok 11255 no-unused-expressions valid a = b
> ok 11256 no-unused-expressions valid new a
> ok 11257 no-unused-expressions valid {}
> ok 11258 no-unused-expressions valid f(); g()
> ok 11259 no-unused-expressions valid i++
> ok 11260 no-unused-expressions valid a()
> ok 11261 no-unused-expressions valid a && a()
> ok 11262 no-unused-expressions valid a() || (b = c)
> ok 11263 no-unused-expressions valid a ? b() : c()
> ok 11264 no-unused-expressions valid a ? b() || (c = d) : e()
> ok 11265 no-unused-expressions valid delete foo.bar
> ok 11266 no-unused-expressions valid void new C
> ok 11267 no-unused-expressions valid "use strict";
> ok 11268 no-unused-expressions valid "directive one"; "directive two"; f();
> ok 11269 no-unused-expressions valid function foo() {"use strict"; return true; }
> ok 11270 no-unused-expressions valid var foo = () => {"use strict"; return true; }
> ok 11271 no-unused-expressions valid function foo() {"directive one"; "directive two"; f(); }
> ok 11272 no-unused-expressions valid function foo() { var foo = "use strict"; return true; }
> ok 11273 no-unused-expressions valid function* foo(){ yield 0; }
> ok 11274 no-unused-expressions valid async function foo() { await 5; }
> ok 11275 no-unused-expressions valid async function foo() { await foo.bar; }
> ok 11276 no-unused-expressions valid async function foo() { bar && await baz; }
> ok 11277 no-unused-expressions valid async function foo() { foo ? await bar : await baz; }
> ok 11278 no-unused-expressions valid tag`tagged template literal`
> ok 11279 no-unused-expressions valid shouldNotBeAffectedByAllowTemplateTagsOption()
> ok 11280 no-unused-expressions invalid 0
> ok 11281 no-unused-expressions invalid a
> ok 11282 no-unused-expressions invalid f(), 0
> ok 11283 no-unused-expressions invalid {0}
> ok 11284 no-unused-expressions invalid []
> ok 11285 no-unused-expressions invalid a && b();
> ok 11286 no-unused-expressions invalid a() || false
> ok 11287 no-unused-expressions invalid a || (b = c)
> ok 11288 no-unused-expressions invalid a ? b() || (c = d) : e
> ok 11289 no-unused-expressions invalid `untagged template literal`
> ok 11290 no-unused-expressions invalid tag`tagged template literal`
> ok 11291 no-unused-expressions invalid a && b()
> ok 11292 no-unused-expressions invalid a ? b() : c()
> ok 11293 no-unused-expressions invalid a || b
> ok 11294 no-unused-expressions invalid a() && b
> ok 11295 no-unused-expressions invalid a ? b : 0
> ok 11296 no-unused-expressions invalid a ? b : c()
> ok 11297 no-unused-expressions invalid foo.bar;
> ok 11298 no-unused-expressions invalid !a
> ok 11299 no-unused-expressions invalid +a
> ok 11300 no-unused-expressions invalid "directive one"; f(); "directive two";
> ok 11301 no-unused-expressions invalid function foo() {"directive one"; f(); "directive two"; }
> ok 11302 no-unused-expressions invalid if (0) { "not a directive"; f(); }
> ok 11303 no-unused-expressions invalid function foo() { var foo = true; "use strict"; }
> ok 11304 no-unused-expressions invalid var foo = () => { var foo = true; "use strict"; }
> ok 11305 no-unused-expressions invalid `untagged template literal`
> ok 11306 no-unused-expressions invalid `untagged template literal`
> ok 11307 no-unused-expressions invalid tag`tagged template literal`
> ok 11308 no-unused-labels valid A: break A;
> ok 11309 no-unused-labels valid A: { foo(); break A; bar(); }
> ok 11310 no-unused-labels valid A: if (a) { foo(); if (b) break A; bar(); }
> ok 11311 no-unused-labels valid A: for (var i = 0; i < 10; ++i) { foo(); if (a) break A; bar(); }
> ok 11312 no-unused-labels valid A: for (var i = 0; i < 10; ++i) { foo(); if (a) continue A; bar(); }
> ok 11313 no-unused-labels valid A: { B: break B; C: for (var i = 0; i < 10; ++i) { foo(); if (a) break A; if (c) continue C; bar(); } }
> ok 11314 no-unused-labels valid A: { var A = 0; console.log(A); break A; console.log(A); }
> ok 11315 no-unused-labels invalid A: var foo = 0;
> ok 11316 no-unused-labels invalid A: { foo(); bar(); }
> ok 11317 no-unused-labels invalid A: if (a) { foo(); bar(); }
> ok 11318 no-unused-labels invalid A: for (var i = 0; i < 10; ++i) { foo(); if (a) break; bar(); }
> ok 11319 no-unused-labels invalid A: for (var i = 0; i < 10; ++i) { foo(); if (a) continue; bar(); }
> ok 11320 no-unused-labels invalid A: for (var i = 0; i < 10; ++i) { B: break A; }
> ok 11321 no-unused-labels invalid A: { var A = 0; console.log(A); }
> ok 11322 no-unused-labels invalid A: /* comment */ foo
> ok 11323 no-unused-labels invalid A /* comment */: foo
> ok 11324 no-unused-vars valid var foo = 5;
> 
> label: while (true) {
>   console.log(foo);
>   break label;
> }
> ok 11325 no-unused-vars valid var foo = 5;
> 
> while (true) {
>   console.log(foo);
>   break;
> }
> ok 11326 no-unused-vars valid for (let prop in box) {
>         box[prop] = parseInt(box[prop]);
> }
> ok 11327 no-unused-vars valid var box = {a: 2};
>     for (var prop in box) {
>         box[prop] = parseInt(box[prop]);
> }
> ok 11328 no-unused-vars valid f({ set foo(a) { return; } });
> ok 11329 no-unused-vars valid a; var a;
> ok 11330 no-unused-vars valid var a=10; alert(a);
> ok 11331 no-unused-vars valid var a=10; (function() { alert(a); })();
> ok 11332 no-unused-vars valid var a=10; (function() { setTimeout(function() { alert(a); }, 0); })();
> ok 11333 no-unused-vars valid var a=10; d[a] = 0;
> ok 11334 no-unused-vars valid (function() { var a=10; return a; })();
> ok 11335 no-unused-vars valid (function g() {})()
> ok 11336 no-unused-vars valid function f(a) {alert(a);}; f();
> ok 11337 no-unused-vars valid var c = 0; function f(a){ var b = a; return b; }; f(c);
> ok 11338 no-unused-vars valid function a(x, y){ return y; }; a();
> ok 11339 no-unused-vars valid var arr1 = [1, 2]; var arr2 = [3, 4]; for (var i in arr1) { arr1[i] = 5; } for (var i in arr2) { arr2[i] = 10; }
> ok 11340 no-unused-vars valid var a=10;
> ok 11341 no-unused-vars valid var min = "min"; Math[min];
> ok 11342 no-unused-vars valid Foo.bar = function(baz) { return baz; };
> ok 11343 no-unused-vars valid myFunc(function foo() {}.bind(this))
> ok 11344 no-unused-vars valid myFunc(function foo(){}.toString())
> ok 11345 no-unused-vars valid function foo(first, second) {
> doStuff(function() {
> console.log(second);});}; foo()
> ok 11346 no-unused-vars valid (function() { var doSomething = function doSomething() {}; doSomething() }())
> ok 11347 no-unused-vars valid try {} catch(e) {}
> ok 11348 no-unused-vars valid /*global a */ a;
> ok 11349 no-unused-vars valid var a=10; (function() { alert(a); })();
> ok 11350 no-unused-vars valid function g(bar, baz) { return baz; }; g();
> ok 11351 no-unused-vars valid function g(bar, baz) { return baz; }; g();
> ok 11352 no-unused-vars valid function g(bar, baz) { return bar; }; g();
> ok 11353 no-unused-vars valid function g(bar, baz) { return 2; }; g();
> ok 11354 no-unused-vars valid function g(bar, baz) { return bar + baz; }; g();
> ok 11355 no-unused-vars valid var g = function(bar, baz) { return 2; }; g();
> ok 11356 no-unused-vars valid (function z() { z(); })();
> ok 11357 no-unused-vars valid  
> ok 11358 no-unused-vars valid var who = "Paul";
> module.exports = `Hello ${who}!`;
> ok 11359 no-unused-vars valid export var foo = 123;
> ok 11360 no-unused-vars valid export function foo () {}
> ok 11361 no-unused-vars valid let toUpper = (partial) => partial.toUpperCase; export {toUpper}
> ok 11362 no-unused-vars valid export class foo {}
> ok 11363 no-unused-vars valid class Foo{}; var x = new Foo(); x.foo()
> ok 11364 no-unused-vars valid const foo = "hello!";function bar(foobar = foo) {  foobar.replace(/!$/, " world!");}
> bar();
> ok 11365 no-unused-vars valid function Foo(){}; var x = new Foo(); x.foo()
> ok 11366 no-unused-vars valid function foo() {var foo = 1; return foo}; foo();
> ok 11367 no-unused-vars valid function foo(foo) {return foo}; foo(1);
> ok 11368 no-unused-vars valid function foo() {function foo() {return 1;}; return foo()}; foo();
> ok 11369 no-unused-vars valid function foo() {var foo = 1; return foo}; foo();
> ok 11370 no-unused-vars valid function foo(foo) {return foo}; foo(1);
> ok 11371 no-unused-vars valid function foo() {function foo() {return 1;}; return foo()}; foo();
> ok 11372 no-unused-vars valid const x = 1; const [y = x] = []; foo(y);
> ok 11373 no-unused-vars valid const x = 1; const {y = x} = {}; foo(y);
> ok 11374 no-unused-vars valid const x = 1; const {z: [y = x]} = {}; foo(y);
> ok 11375 no-unused-vars valid const x = []; const {z: [y] = x} = {}; foo(y);
> ok 11376 no-unused-vars valid const x = 1; let y; [y = x] = []; foo(y);
> ok 11377 no-unused-vars valid const x = 1; let y; ({z: [y = x]} = {}); foo(y);
> ok 11378 no-unused-vars valid const x = []; let y; ({z: [y] = x} = {}); foo(y);
> ok 11379 no-unused-vars valid const x = 1; function foo(y = x) { bar(y); } foo();
> ok 11380 no-unused-vars valid const x = 1; function foo({y = x} = {}) { bar(y); } foo();
> ok 11381 no-unused-vars valid const x = 1; function foo(y = function(z = x) { bar(z); }) { y(); } foo();
> ok 11382 no-unused-vars valid const x = 1; function foo(y = function() { bar(x); }) { y(); } foo();
> ok 11383 no-unused-vars valid var x = 1; var [y = x] = []; foo(y);
> ok 11384 no-unused-vars valid var x = 1; var {y = x} = {}; foo(y);
> ok 11385 no-unused-vars valid var x = 1; var {z: [y = x]} = {}; foo(y);
> ok 11386 no-unused-vars valid var x = []; var {z: [y] = x} = {}; foo(y);
> ok 11387 no-unused-vars valid var x = 1, y; [y = x] = []; foo(y);
> ok 11388 no-unused-vars valid var x = 1, y; ({z: [y = x]} = {}); foo(y);
> ok 11389 no-unused-vars valid var x = [], y; ({z: [y] = x} = {}); foo(y);
> ok 11390 no-unused-vars valid var x = 1; function foo(y = x) { bar(y); } foo();
> ok 11391 no-unused-vars valid var x = 1; function foo({y = x} = {}) { bar(y); } foo();
> ok 11392 no-unused-vars valid var x = 1; function foo(y = function(z = x) { bar(z); }) { y(); } foo();
> ok 11393 no-unused-vars valid var x = 1; function foo(y = function() { bar(x); }) { y(); } foo();
> ok 11394 no-unused-vars valid /*exported toaster*/ var toaster = 'great'
> ok 11395 no-unused-vars valid /*exported toaster, poster*/ var toaster = 1; poster = 0;
> ok 11396 no-unused-vars valid /*exported x*/ var { x } = y
> ok 11397 no-unused-vars valid /*exported x, y*/  var { x, y } = z
> ok 11398 no-unused-vars valid /*eslint use-every-a:1*/ var a;
> ok 11399 no-unused-vars valid /*eslint use-every-a:1*/ !function(a) { return 1; }
> ok 11400 no-unused-vars valid /*eslint use-every-a:1*/ !function() { var a; return 1 }
> ok 11401 no-unused-vars valid var _a;
> ok 11402 no-unused-vars valid var a; function foo() { var _b; } foo();
> ok 11403 no-unused-vars valid function foo(_a) { } foo();
> ok 11404 no-unused-vars valid function foo(a, _b) { return a; } foo();
> ok 11405 no-unused-vars valid var [ firstItemIgnored, secondItem ] = items;
> console.log(secondItem);
> ok 11406 no-unused-vars valid (function(obj) { var name; for ( name in obj ) return; })({});
> ok 11407 no-unused-vars valid (function(obj) { var name; for ( name in obj ) { return; } })({});
> ok 11408 no-unused-vars valid (function(obj) { for ( var name in obj ) { return true } })({})
> ok 11409 no-unused-vars valid (function(obj) { for ( var name in obj ) return true })({})
> ok 11410 no-unused-vars valid (function(obj) { let name; for ( name in obj ) return; })({});
> ok 11411 no-unused-vars valid (function(obj) { let name; for ( name in obj ) { return; } })({});
> ok 11412 no-unused-vars valid (function(obj) { for ( let name in obj ) { return true } })({})
> ok 11413 no-unused-vars valid (function(obj) { for ( let name in obj ) return true })({})
> ok 11414 no-unused-vars valid (function(obj) { for ( const name in obj ) { return true } })({})
> ok 11415 no-unused-vars valid (function(obj) { for ( const name in obj ) return true })({})
> ok 11416 no-unused-vars valid try{}catch(err){console.error(err);}
> ok 11417 no-unused-vars valid try{}catch(err){}
> ok 11418 no-unused-vars valid try{}catch(ignoreErr){}
> ok 11419 no-unused-vars valid try{}catch(err){}
> ok 11420 no-unused-vars valid const data = { type: 'coords', x: 1, y: 2 };
> const { type, ...coords } = data;
>  console.log(coords);
> ok 11421 no-unused-vars valid var a = 0, b; b = a = a + 1; foo(b);
> ok 11422 no-unused-vars valid var a = 0, b; b = a += a + 1; foo(b);
> ok 11423 no-unused-vars valid var a = 0, b; b = a++; foo(b);
> ok 11424 no-unused-vars valid function foo(a) { var b = a = a + 1; bar(b) } foo();
> ok 11425 no-unused-vars valid function foo(a) { var b = a += a + 1; bar(b) } foo();
> ok 11426 no-unused-vars valid function foo(a) { var b = a++; bar(b) } foo();
> ok 11427 no-unused-vars valid var unregisterFooWatcher;
> // ...
> unregisterFooWatcher = $scope.$watch( "foo", function() {
>     // ...some code..
>     unregisterFooWatcher();
> });
> ok 11428 no-unused-vars valid var ref;
> ref = setInterval(
>     function(){
>         clearInterval(ref);
>     }, 10);
> ok 11429 no-unused-vars valid var _timer;
> function f() {
>     _timer = setTimeout(function () {}, _timer ? 100 : 0);
> }
> f();
> ok 11430 no-unused-vars valid function foo(cb) { cb = function() { function something(a) { cb(1 + a); } register(something); }(); } foo();
> ok 11431 no-unused-vars valid function* foo(cb) { cb = yield function(a) { cb(1 + a); }; } foo();
> ok 11432 no-unused-vars valid function foo(cb) { cb = tag`hello${function(a) { cb(1 + a); }}`; } foo();
> ok 11433 no-unused-vars valid function foo(cb) { var b; cb = b = function(a) { cb(1 + a); }; b(); } foo();
> ok 11434 no-unused-vars valid function someFunction() {
>     var a = 0, i;
>     for (i = 0; i < 2; i++) {
>         a = myFunction(a);
>     }
> }
> someFunction();
> ok 11435 no-unused-vars valid (function(a, b, {c, d}) { d })
> ok 11436 no-unused-vars valid (function(a, b, {c, d}) { c })
> ok 11437 no-unused-vars valid (function(a, b, c) { c })
> ok 11438 no-unused-vars valid (function(a, b, {c, d}) { c })
> ok 11439 no-unused-vars valid (class { set foo(UNUSED) {} })
> ok 11440 no-unused-vars valid class Foo { set bar(UNUSED) {} } console.log(Foo)
> ok 11441 no-unused-vars valid (({a, ...rest}) => rest)
> ok 11442 no-unused-vars valid /*eslint use-every-a:1*/ !function(b, a) { return 1 }
> ok 11443 no-unused-vars valid var a = function () { a(); }; a();
> ok 11444 no-unused-vars valid var a = function(){ return function () { a(); } }; a();
> ok 11445 no-unused-vars valid const a = () => { a(); }; a();
> ok 11446 no-unused-vars valid const a = () => () => { a(); }; a();
> ok 11447 no-unused-vars invalid function foox() { return foox(); }
> ok 11448 no-unused-vars invalid (function() { function foox() { if (true) { return foox(); } } }())
> ok 11449 no-unused-vars invalid var a=10
> ok 11450 no-unused-vars invalid function f() { var a = 1; return function(){ f(a *= 2); }; }
> ok 11451 no-unused-vars invalid function f() { var a = 1; return function(){ f(++a); }; }
> ok 11452 no-unused-vars invalid /*global a */
> ok 11453 no-unused-vars invalid function foo(first, second) {
> doStuff(function() {
> console.log(second);});};
> ok 11454 no-unused-vars invalid var a=10;
> ok 11455 no-unused-vars invalid var a=10; a=20;
> ok 11456 no-unused-vars invalid var a=10; (function() { var a = 1; alert(a); })();
> ok 11457 no-unused-vars invalid var a=10, b=0, c=null; alert(a+b)
> ok 11458 no-unused-vars invalid var a=10, b=0, c=null; setTimeout(function() { var b=2; alert(a+b+c); }, 0);
> ok 11459 no-unused-vars invalid var a=10, b=0, c=null; setTimeout(function() { var b=2; var c=2; alert(a+b+c); }, 0);
> ok 11460 no-unused-vars invalid function f(){var a=[];return a.map(function(){});}
> ok 11461 no-unused-vars invalid function f(){var a=[];return a.map(function g(){});}
> ok 11462 no-unused-vars invalid function foo() {function foo(x) {
> return x; }; return function() {return foo; }; }
> ok 11463 no-unused-vars invalid function f(){var x;function a(){x=42;}function b(){alert(x);}}
> ok 11464 no-unused-vars invalid function f(a) {}; f();
> ok 11465 no-unused-vars invalid function a(x, y, z){ return y; }; a();
> ok 11466 no-unused-vars invalid var min = Math.min
> ok 11467 no-unused-vars invalid var min = {min: 1}
> ok 11468 no-unused-vars invalid Foo.bar = function(baz) { return 1; };
> ok 11469 no-unused-vars invalid var min = {min: 1}
> ok 11470 no-unused-vars invalid function gg(baz, bar) { return baz; }; gg();
> ok 11471 no-unused-vars invalid (function(foo, baz, bar) { return baz; })();
> ok 11472 no-unused-vars invalid (function(foo, baz, bar) { return baz; })();
> ok 11473 no-unused-vars invalid (function z(foo) { var bar = 33; })();
> ok 11474 no-unused-vars invalid (function z(foo) { z(); })();
> ok 11475 no-unused-vars invalid function f() { var a = 1; return function(){ f(a = 2); }; }
> ok 11476 no-unused-vars invalid import x from "y";
> ok 11477 no-unused-vars invalid export function fn2({ x, y }) {
>  console.log(x); 
> };
> ok 11478 no-unused-vars invalid export function fn2( x, y ) {
>  console.log(x); 
> };
> ok 11479 no-unused-vars invalid /*exported max*/ var max = 1, min = {min: 1}
> ok 11480 no-unused-vars invalid /*exported x*/ var { x, y } = z
> ok 11481 no-unused-vars invalid var _a; var b;
> ok 11482 no-unused-vars invalid var a; function foo() { var _b; var c_; } foo();
> ok 11483 no-unused-vars invalid function foo(a, _b) { } foo();
> ok 11484 no-unused-vars invalid function foo(a, _b, c) { return a; } foo();
> ok 11485 no-unused-vars invalid function foo(_a) { } foo();
> ok 11486 no-unused-vars invalid var [ firstItemIgnored, secondItem ] = items;
> ok 11487 no-unused-vars invalid (function(obj) { var name; for ( name in obj ) { i(); return; } })({});
> ok 11488 no-unused-vars invalid (function(obj) { var name; for ( name in obj ) { } })({});
> ok 11489 no-unused-vars invalid (function(obj) { for ( var name in obj ) { } })({});
> ok 11490 no-unused-vars invalid 
> /* global foobar, foo, bar */
> foobar;
> ok 11491 no-unused-vars invalid 
> /* global foobar,
>    foo,
>    bar
>  */
> foobar;
> ok 11492 no-unused-vars invalid const data = { type: 'coords', x: 1, y: 2 };
> const { type, ...coords } = data;
>  console.log(coords);
> ok 11493 no-unused-vars invalid const data = { type: 'coords', x: 1, y: 2 };
> const { type, ...coords } = data;
>  console.log(type)
> ok 11494 no-unused-vars invalid const data = { type: 'coords', x: 1, y: 2 };
> const { type, ...coords } = data;
>  console.log(type)
> ok 11495 no-unused-vars invalid const data = { vars: ['x','y'], x: 1, y: 2 };
> const { vars: [x], ...coords } = data;
>  console.log(coords)
> ok 11496 no-unused-vars invalid const data = { defaults: { x: 0 }, x: 1, y: 2 };
> const { defaults: { x }, ...coords } = data;
>  console.log(coords)
> ok 11497 no-unused-vars invalid (({a, ...rest}) => {})
> ok 11498 no-unused-vars invalid /* global a$fooz,$foo */
> a$fooz;
> ok 11499 no-unused-vars invalid /* globals a$fooz, $ */
> a$fooz;
> ok 11500 no-unused-vars invalid /*globals $foo*/
> ok 11501 no-unused-vars invalid /* global global*/
> ok 11502 no-unused-vars invalid /*global foo:true*/
> ok 11503 no-unused-vars invalid /*global 変数, 数*/
> 変数;
> ok 11504 no-unused-vars invalid /*global 𠮷𩸽, 𠮷*/
> \u{20BB7}\u{29E3D};
> ok 11505 no-unused-vars invalid export default function(a) {}
> ok 11506 no-unused-vars invalid export default function(a, b) { console.log(a); }
> ok 11507 no-unused-vars invalid export default (function(a) {});
> ok 11508 no-unused-vars invalid export default (function(a, b) { console.log(a); });
> ok 11509 no-unused-vars invalid export default (a) => {};
> ok 11510 no-unused-vars invalid export default (a, b) => { console.log(a); };
> ok 11511 no-unused-vars invalid try{}catch(err){};
> ok 11512 no-unused-vars invalid try{}catch(err){};
> ok 11513 no-unused-vars invalid try{}catch(ignoreErr){}try{}catch(err){};
> ok 11514 no-unused-vars invalid try{}catch(error){}try{}catch(err){};
> ok 11515 no-unused-vars invalid try{}catch(err){};
> ok 11516 no-unused-vars invalid try{}catch(err){};
> ok 11517 no-unused-vars invalid var a = 0; a = a + 1;
> ok 11518 no-unused-vars invalid var a = 0; a = a + a;
> ok 11519 no-unused-vars invalid var a = 0; a += a + 1;
> ok 11520 no-unused-vars invalid var a = 0; a++;
> ok 11521 no-unused-vars invalid function foo(a) { a = a + 1 } foo();
> ok 11522 no-unused-vars invalid function foo(a) { a += a + 1 } foo();
> ok 11523 no-unused-vars invalid function foo(a) { a++ } foo();
> ok 11524 no-unused-vars invalid var a = 3; a = a * 5 + 6;
> ok 11525 no-unused-vars invalid var a = 2, b = 4; a = a * 2 + b;
> ok 11526 no-unused-vars invalid function foo(cb) { cb = function(a) { cb(1 + a); }; bar(not_cb); } foo();
> ok 11527 no-unused-vars invalid function foo(cb) { cb = function(a) { return cb(1 + a); }(); } foo();
> ok 11528 no-unused-vars invalid function foo(cb) { cb = (function(a) { cb(1 + a); }, cb); } foo();
> ok 11529 no-unused-vars invalid function foo(cb) { cb = (0, function(a) { cb(1 + a); }); } foo();
> ok 11530 no-unused-vars invalid while (a) {
>     function foo(b) {
>         b = b + 1;
>     }
>     foo()
> }
> ok 11531 no-unused-vars invalid (function(a, b, c) {})
> ok 11532 no-unused-vars invalid (function(a, b, {c, d}) {})
> ok 11533 no-unused-vars invalid (function(a, b, {c, d}) {})
> ok 11534 no-unused-vars invalid (function(a, b, {c, d}) {})
> ok 11535 no-unused-vars invalid /*global
> foo*/
> ok 11536 no-unused-vars invalid (function ({ a }, b ) { return b; })();
> ok 11537 no-unused-vars invalid (function ({ a }, { b, c } ) { return b; })();
> ok 11538 no-unused-vars invalid (function ({ a, b }, { c } ) { return b; })();
> ok 11539 no-unused-vars invalid (function ([ a ], b ) { return b; })();
> ok 11540 no-unused-vars invalid (function ([ a ], [ b, c ] ) { return b; })();
> ok 11541 no-unused-vars invalid (function ([ a, b ], [ c ] ) { return b; })();
> ok 11542 no-unused-vars invalid (function(_a) {})();
> ok 11543 no-unused-vars invalid (function(_a) {})();
> ok 11544 no-unused-vars invalid var a = function() { a(); };
> ok 11545 no-unused-vars invalid var a = function(){ return function() { a(); } };
> ok 11546 no-unused-vars invalid const a = () => { a(); };
> ok 11547 no-unused-vars invalid const a = () => () => { a(); };
> ok 11548 no-use-before-define valid var a=10; alert(a);
> ok 11549 no-use-before-define valid function b(a) { alert(a); }
> ok 11550 no-use-before-define valid Object.hasOwnProperty.call(a);
> ok 11551 no-use-before-define valid function a() { alert(arguments);}
> ok 11552 no-use-before-define valid a(); function a() { alert(arguments); }
> ok 11553 no-use-before-define valid (() => { var a = 42; alert(a); })();
> ok 11554 no-use-before-define valid a(); try { throw new Error() } catch (a) {}
> ok 11555 no-use-before-define valid class A {} new A();
> ok 11556 no-use-before-define valid var a = 0, b = a;
> ok 11557 no-use-before-define valid var {a = 0, b = a} = {};
> ok 11558 no-use-before-define valid var [a = 0, b = a] = {};
> ok 11559 no-use-before-define valid function foo() { foo(); }
> ok 11560 no-use-before-define valid var foo = function() { foo(); };
> ok 11561 no-use-before-define valid var a; for (a in a) {}
> ok 11562 no-use-before-define valid var a; for (a of a) {}
> ok 11563 no-use-before-define valid "use strict"; a(); { function a() {} }
> ok 11564 no-use-before-define valid "use strict"; { a(); function a() {} }
> ok 11565 no-use-before-define valid switch (foo) { case 1:  { a(); } default: { let a; }}
> ok 11566 no-use-before-define valid a(); { let a = function () {}; }
> ok 11567 no-use-before-define valid a(); function a() { alert(arguments); }
> ok 11568 no-use-before-define valid "use strict"; { a(); function a() {} }
> ok 11569 no-use-before-define valid function foo() { new A(); } class A {};
> ok 11570 no-use-before-define valid function foo() { bar; } var bar;
> ok 11571 no-use-before-define valid var foo = () => bar; var bar;
> ok 11572 no-use-before-define invalid a++; var a=19;
> ok 11573 no-use-before-define invalid a++; var a=19;
> ok 11574 no-use-before-define invalid a++; var a=19;
> ok 11575 no-use-before-define invalid a(); var a=function() {};
> ok 11576 no-use-before-define invalid alert(a[1]); var a=[1,3];
> ok 11577 no-use-before-define invalid a(); function a() { alert(b); var b=10; a(); }
> ok 11578 no-use-before-define invalid a(); var a=function() {};
> ok 11579 no-use-before-define invalid (() => { alert(a); var a = 42; })();
> ok 11580 no-use-before-define invalid (() => a())(); function a() { }
> ok 11581 no-use-before-define invalid "use strict"; a(); { function a() {} }
> ok 11582 no-use-before-define invalid a(); try { throw new Error() } catch (foo) {var a;}
> ok 11583 no-use-before-define invalid var f = () => a; var a;
> ok 11584 no-use-before-define invalid new A(); class A {};
> ok 11585 no-use-before-define invalid function foo() { new A(); } class A {};
> ok 11586 no-use-before-define invalid new A(); var A = class {};
> ok 11587 no-use-before-define invalid function foo() { new A(); } var A = class {};
> ok 11588 no-use-before-define invalid a++; { var a; }
> ok 11589 no-use-before-define invalid "use strict"; { a(); function a() {} }
> ok 11590 no-use-before-define invalid {a; let a = 1}
> ok 11591 no-use-before-define invalid switch (foo) { case 1: a();
>  default: 
>  let a;}
> ok 11592 no-use-before-define invalid if (true) { function foo() { a; } let a;}
> ok 11593 no-use-before-define invalid a(); var a=function() {};
> ok 11594 no-use-before-define invalid new A(); class A {};
> ok 11595 no-use-before-define invalid new A(); var A = class {};
> ok 11596 no-use-before-define invalid function foo() { new A(); } var A = class {};
> ok 11597 no-use-before-define invalid var a = a;
> ok 11598 no-use-before-define invalid let a = a + b;
> ok 11599 no-use-before-define invalid const a = foo(a);
> ok 11600 no-use-before-define invalid function foo(a = a) {}
> ok 11601 no-use-before-define invalid var {a = a} = [];
> ok 11602 no-use-before-define invalid var [a = a] = [];
> ok 11603 no-use-before-define invalid var {b = a, a} = {};
> ok 11604 no-use-before-define invalid var [b = a, a] = {};
> ok 11605 no-use-before-define invalid var {a = 0} = a;
> ok 11606 no-use-before-define invalid var [a = 0] = a;
> ok 11607 no-use-before-define invalid for (var a in a) {}
> ok 11608 no-use-before-define invalid for (var a of a) {}
> ok 11609 no-use-before-define invalid function foo() { bar; var bar = 1; } var bar;
> ok 11610 no-use-before-define invalid foo; var foo;
> ok 11611 no-use-before-define invalid for (let x = x;;); let x = 0
> ok 11612 no-use-before-define invalid for (let x in xs); let xs = []
> ok 11613 no-use-before-define invalid for (let x of xs); let xs = []
> ok 11614 no-use-before-define invalid try {} catch ({message = x}) {} let x = ''
> ok 11615 no-use-before-define invalid with (obj) x; let x = {}
> ok 11616 no-use-before-define invalid with (x); let x = {}
> ok 11617 no-use-before-define invalid with (obj) { x } let x = {}
> ok 11618 no-use-before-define invalid with (obj) { if (a) { x } } let x = {}
> ok 11619 no-use-before-define invalid with (obj) { (() => { if (a) { x } })() } let x = {}
> ok 11620 no-useless-call valid foo.apply(obj, 1, 2);
> ok 11621 no-useless-call valid obj.foo.apply(null, 1, 2);
> ok 11622 no-useless-call valid obj.foo.apply(otherObj, 1, 2);
> ok 11623 no-useless-call valid a.b(x, y).c.foo.apply(a.b(x, z).c, 1, 2);
> ok 11624 no-useless-call valid foo.apply(obj, [1, 2]);
> ok 11625 no-useless-call valid obj.foo.apply(null, [1, 2]);
> ok 11626 no-useless-call valid obj.foo.apply(otherObj, [1, 2]);
> ok 11627 no-useless-call valid a.b(x, y).c.foo.apply(a.b(x, z).c, [1, 2]);
> ok 11628 no-useless-call valid a.b.foo.apply(a.b.c, [1, 2]);
> ok 11629 no-useless-call valid foo.apply(null, args);
> ok 11630 no-useless-call valid obj.foo.apply(obj, args);
> ok 11631 no-useless-call valid var call; foo[call](null, 1, 2);
> ok 11632 no-useless-call valid var apply; foo[apply](null, [1, 2]);
> ok 11633 no-useless-call valid foo.call();
> ok 11634 no-useless-call valid obj.foo.call();
> ok 11635 no-useless-call valid foo.apply();
> ok 11636 no-useless-call valid obj.foo.apply();
> ok 11637 no-useless-call invalid foo.call(undefined, 1, 2);
> ok 11638 no-useless-call invalid foo.call(void 0, 1, 2);
> ok 11639 no-useless-call invalid foo.call(null, 1, 2);
> ok 11640 no-useless-call invalid obj.foo.call(obj, 1, 2);
> ok 11641 no-useless-call invalid a.b.c.foo.call(a.b.c, 1, 2);
> ok 11642 no-useless-call invalid a.b(x, y).c.foo.call(a.b(x, y).c, 1, 2);
> ok 11643 no-useless-call invalid foo.apply(undefined, [1, 2]);
> ok 11644 no-useless-call invalid foo.apply(void 0, [1, 2]);
> ok 11645 no-useless-call invalid foo.apply(null, [1, 2]);
> ok 11646 no-useless-call invalid obj.foo.apply(obj, [1, 2]);
> ok 11647 no-useless-call invalid a.b.c.foo.apply(a.b.c, [1, 2]);
> ok 11648 no-useless-call invalid a.b(x, y).c.foo.apply(a.b(x, y).c, [1, 2]);
> ok 11649 no-useless-call invalid [].concat.apply([ ], [1, 2]);
> ok 11650 no-useless-call invalid [].concat.apply([
> /*empty*/
> ], [1, 2]);
> ok 11651 no-useless-call invalid abc.get("foo", 0).concat.apply(abc . get("foo",  0 ), [1, 2]);
> ok 11652 no-useless-catch valid 
>             try {
>                 foo();
>             } catch (err) {
>                 console.error(err);
>             }
>         
> ok 11653 no-useless-catch valid 
>             try {
>                 foo();
>             } catch (err) {
>                 console.error(err);
>             } finally {
>                 bar();
>             }
>         
> ok 11654 no-useless-catch valid 
>             try {
>                 foo();
>             } catch (err) {
>                 doSomethingBeforeRethrow();
>                 throw err;
>             }
>         
> ok 11655 no-useless-catch valid 
>             try {
>                 foo();
>             } catch (err) {
>                 throw err.msg;
>             }
>         
> ok 11656 no-useless-catch valid 
>             try {
>                 foo();
>             } catch (err) {
>                 throw new Error("whoops!");
>             }
>         
> ok 11657 no-useless-catch valid 
>             try {
>                 foo();
>             } catch (err) {
>                 throw bar;
>             }
>         
> ok 11658 no-useless-catch valid 
>             try {
>                 foo();
>             } catch (err) { }
>         
> ok 11659 no-useless-catch valid 
>                 try {
>                     foo();
>                 } catch ({ err }) {
>                     throw err;
>                 }
>             
> ok 11660 no-useless-catch valid 
>                 try {
>                     foo();
>                 } catch ([ err ]) {
>                     throw err;
>                 }
>             
> ok 11661 no-useless-catch valid 
>                 async () => {
>                     try {
>                         await doSomething();
>                     } catch (e) {
>                         doSomethingAfterCatch();
>                         throw e;
>                     }
>                 }
>             
> ok 11662 no-useless-catch valid 
>                 try {
>                     throw new Error('foo');
>                 } catch {
>                     throw new Error('foo');
>                 }
>             
> ok 11663 no-useless-catch invalid 
>                 try {
>                     foo();
>                 } catch (err) {
>                     throw err;
>                 }
>             
> ok 11664 no-useless-catch invalid 
>                 try {
>                     foo();
>                 } catch (err) {
>                     throw err;
>                 } finally {
>                     foo();
>                 }
>             
> ok 11665 no-useless-catch invalid 
>                 try {
>                     foo();
>                 } catch (err) {
>                     /* some comment */
>                     throw err;
>                 }
>             
> ok 11666 no-useless-catch invalid 
>                 try {
>                     foo();
>                 } catch (err) {
>                     /* some comment */
>                     throw err;
>                 } finally {
>                     foo();
>                 }
>             
> ok 11667 no-useless-catch invalid 
>                 async () => {
>                     try {
>                         await doSomething();
>                     } catch (e) {
>                         throw e;
>                     }
>                 }
>             
> ok 11668 no-useless-computed-key valid ({ 'a': 0, b(){} })
> ok 11669 no-useless-computed-key valid ({ [x]: 0 });
> ok 11670 no-useless-computed-key valid ({ a: 0, [b](){} })
> ok 11671 no-useless-computed-key valid ({ ['__proto__']: [] })
> ok 11672 no-useless-computed-key invalid ({ ['0']: 0 })
> ok 11673 no-useless-computed-key invalid ({ ['0+1,234']: 0 })
> ok 11674 no-useless-computed-key invalid ({ [0]: 0 })
> ok 11675 no-useless-computed-key invalid ({ ['x']: 0 })
> ok 11676 no-useless-computed-key invalid ({ ['x']() {} })
> ok 11677 no-useless-computed-key invalid ({ [/* this comment prevents a fix */ 'x']: 0 })
> ok 11678 no-useless-computed-key invalid ({ ['x' /* this comment also prevents a fix */]: 0 })
> ok 11679 no-useless-computed-key invalid ({ [('x')]: 0 })
> ok 11680 no-useless-computed-key invalid ({ *['x']() {} })
> ok 11681 no-useless-computed-key invalid ({ async ['x']() {} })
> ok 11682 no-useless-computed-key invalid ({ get[.2]() {} })
> ok 11683 no-useless-computed-key invalid ({ set[.2](value) {} })
> ok 11684 no-useless-computed-key invalid ({ async[.2]() {} })
> ok 11685 no-useless-computed-key invalid ({ [2]() {} })
> ok 11686 no-useless-computed-key invalid ({ get [2]() {} })
> ok 11687 no-useless-computed-key invalid ({ set [2](value) {} })
> ok 11688 no-useless-computed-key invalid ({ async [2]() {} })
> ok 11689 no-useless-computed-key invalid ({ get[2]() {} })
> ok 11690 no-useless-computed-key invalid ({ set[2](value) {} })
> ok 11691 no-useless-computed-key invalid ({ async[2]() {} })
> ok 11692 no-useless-computed-key invalid ({ get['foo']() {} })
> ok 11693 no-useless-computed-key invalid ({ *[2]() {} })
> ok 11694 no-useless-computed-key invalid ({ async*[2]() {} })
> ok 11695 no-useless-concat valid var a = 1 + 1;
> ok 11696 no-useless-concat valid var a = 1 * '2';
> ok 11697 no-useless-concat valid var a = 1 - 2;
> ok 11698 no-useless-concat valid var a = foo + bar;
> ok 11699 no-useless-concat valid var a = 'foo' + bar;
> ok 11700 no-useless-concat valid var foo = 'foo' +
>  'bar';
> ok 11701 no-useless-concat valid var string = (number + 1) + 'px';
> ok 11702 no-useless-concat valid 'a' + 1
> ok 11703 no-useless-concat valid 1 + '1'
> ok 11704 no-useless-concat valid 1 + `1`
> ok 11705 no-useless-concat valid `1` + 1
> ok 11706 no-useless-concat valid (1 + +2) + `b`
> ok 11707 no-useless-concat invalid 'a' + 'b'
> ok 11708 no-useless-concat invalid foo + 'a' + 'b'
> ok 11709 no-useless-concat invalid 'a' + 'b' + 'c'
> ok 11710 no-useless-concat invalid (foo + 'a') + ('b' + 'c')
> ok 11711 no-useless-concat invalid `a` + 'b'
> ok 11712 no-useless-concat invalid `a` + `b`
> ok 11713 no-useless-concat invalid foo + `a` + `b`
> ok 11714 no-useless-constructor valid class A { }
> ok 11715 no-useless-constructor valid class A { constructor(){ doSomething(); } }
> ok 11716 no-useless-constructor valid class A extends B { constructor(){} }
> ok 11717 no-useless-constructor valid class A extends B { constructor(){ super('foo'); } }
> ok 11718 no-useless-constructor valid class A extends B { constructor(foo, bar){ super(foo, bar, 1); } }
> ok 11719 no-useless-constructor valid class A extends B { constructor(){ super(); doSomething(); } }
> ok 11720 no-useless-constructor valid class A extends B { constructor(...args){ super(...args); doSomething(); } }
> ok 11721 no-useless-constructor valid class A { dummyMethod(){ doSomething(); } }
> ok 11722 no-useless-constructor valid class A extends B.C { constructor() { super(foo); } }
> ok 11723 no-useless-constructor valid class A extends B.C { constructor([a, b, c]) { super(...arguments); } }
> ok 11724 no-useless-constructor valid class A extends B.C { constructor(a = f()) { super(...arguments); } }
> ok 11725 no-useless-constructor valid class A extends B { constructor(a, b, c) { super(a, b); } }
> ok 11726 no-useless-constructor valid class A extends B { constructor(foo, bar){ super(foo); } }
> ok 11727 no-useless-constructor valid class A extends B { constructor(test) { super(); } }
> ok 11728 no-useless-constructor valid class A extends B { constructor() { foo; } }
> ok 11729 no-useless-constructor valid class A extends B { constructor(foo, bar) { super(bar); } }
> ok 11730 no-useless-constructor invalid class A { constructor(){} }
> ok 11731 no-useless-constructor invalid class A { 'constructor'(){} }
> ok 11732 no-useless-constructor invalid class A extends B { constructor() { super(); } }
> ok 11733 no-useless-constructor invalid class A extends B { constructor(foo){ super(foo); } }
> ok 11734 no-useless-constructor invalid class A extends B { constructor(foo, bar){ super(foo, bar); } }
> ok 11735 no-useless-constructor invalid class A extends B { constructor(...args){ super(...args); } }
> ok 11736 no-useless-constructor invalid class A extends B.C { constructor() { super(...arguments); } }
> ok 11737 no-useless-constructor invalid class A extends B { constructor(a, b, ...c) { super(...arguments); } }
> ok 11738 no-useless-constructor invalid class A extends B { constructor(a, b, ...c) { super(a, b, ...c); } }
> ok 11739 no-useless-escape valid var foo = /\./
> ok 11740 no-useless-escape valid var foo = /\//g
> ok 11741 no-useless-escape valid var foo = /""/
> ok 11742 no-useless-escape valid var foo = /''/
> ok 11743 no-useless-escape valid var foo = /([A-Z])\t+/g
> ok 11744 no-useless-escape valid var foo = /([A-Z])\n+/g
> ok 11745 no-useless-escape valid var foo = /([A-Z])\v+/g
> ok 11746 no-useless-escape valid var foo = /\D/
> ok 11747 no-useless-escape valid var foo = /\W/
> ok 11748 no-useless-escape valid var foo = /\w/
> ok 11749 no-useless-escape valid var foo = /\B/
> ok 11750 no-useless-escape valid var foo = /\\/g
> ok 11751 no-useless-escape valid var foo = /\w\$\*\./
> ok 11752 no-useless-escape valid var foo = /\^\+\./
> ok 11753 no-useless-escape valid var foo = /\|\}\{\./
> ok 11754 no-useless-escape valid var foo = /]\[\(\)\//
> ok 11755 no-useless-escape valid var foo = "\x123"
> ok 11756 no-useless-escape valid var foo = "\u00a9"
> ok 11757 no-useless-escape valid var foo = "\377"
> ok 11758 no-useless-escape valid var foo = "\""
> ok 11759 no-useless-escape valid var foo = "xs\u2111"
> ok 11760 no-useless-escape valid var foo = "foo \\ bar";
> ok 11761 no-useless-escape valid var foo = "\t";
> ok 11762 no-useless-escape valid var foo = "foo \b bar";
> ok 11763 no-useless-escape valid var foo = '\n';
> ok 11764 no-useless-escape valid var foo = 'foo \r bar';
> ok 11765 no-useless-escape valid var foo = '\v';
> ok 11766 no-useless-escape valid var foo = '\f';
> ok 11767 no-useless-escape valid var foo = '\
> ';
> ok 11768 no-useless-escape valid var foo = '\
> 
> ';
> ok 11769 no-useless-escape valid <foo attr="\d"/>
> ok 11770 no-useless-escape valid <div> Testing: \ </div>
> ok 11771 no-useless-escape valid <div> Testing: &x5C </div>
> ok 11772 no-useless-escape valid <foo attr='\d'></foo>
> ok 11773 no-useless-escape valid <> Testing: \ </>
> ok 11774 no-useless-escape valid <> Testing: &x5C </>
> ok 11775 no-useless-escape valid var foo = `\x123`
> ok 11776 no-useless-escape valid var foo = `\u00a9`
> ok 11777 no-useless-escape valid var foo = `xs\u2111`
> ok 11778 no-useless-escape valid var foo = `foo \\ bar`;
> ok 11779 no-useless-escape valid var foo = `\t`;
> ok 11780 no-useless-escape valid var foo = `foo \b bar`;
> ok 11781 no-useless-escape valid var foo = `\n`;
> ok 11782 no-useless-escape valid var foo = `foo \r bar`;
> ok 11783 no-useless-escape valid var foo = `\v`;
> ok 11784 no-useless-escape valid var foo = `\f`;
> ok 11785 no-useless-escape valid var foo = `\
> `;
> ok 11786 no-useless-escape valid var foo = `\
> 
> `;
> ok 11787 no-useless-escape valid var foo = `${foo} \x123`
> ok 11788 no-useless-escape valid var foo = `${foo} \u00a9`
> ok 11789 no-useless-escape valid var foo = `${foo} xs\u2111`
> ok 11790 no-useless-escape valid var foo = `${foo} \\ ${bar}`;
> ok 11791 no-useless-escape valid var foo = `${foo} \b ${bar}`;
> ok 11792 no-useless-escape valid var foo = `${foo}\t`;
> ok 11793 no-useless-escape valid var foo = `${foo}\n`;
> ok 11794 no-useless-escape valid var foo = `${foo}\r`;
> ok 11795 no-useless-escape valid var foo = `${foo}\v`;
> ok 11796 no-useless-escape valid var foo = `${foo}\f`;
> ok 11797 no-useless-escape valid var foo = `${foo}\
> `;
> ok 11798 no-useless-escape valid var foo = `${foo}\
> 
> `;
> ok 11799 no-useless-escape valid var foo = `\``
> ok 11800 no-useless-escape valid var foo = `\`${foo}\``
> ok 11801 no-useless-escape valid var foo = `\${{${foo}`;
> ok 11802 no-useless-escape valid var foo = `$\{{${foo}`;
> ok 11803 no-useless-escape valid var foo = String.raw`\.`
> ok 11804 no-useless-escape valid var foo = myFunc`\.`
> ok 11805 no-useless-escape valid var foo = /[\d]/
> ok 11806 no-useless-escape valid var foo = /[a\-b]/
> ok 11807 no-useless-escape valid var foo = /foo\?/
> ok 11808 no-useless-escape valid var foo = /example\.com/
> ok 11809 no-useless-escape valid var foo = /foo\|bar/
> ok 11810 no-useless-escape valid var foo = /\^bar/
> ok 11811 no-useless-escape valid var foo = /[\^bar]/
> ok 11812 no-useless-escape valid var foo = /\(bar\)/
> ok 11813 no-useless-escape valid var foo = /[[\]]/
> ok 11814 no-useless-escape valid var foo = /[[]\./
> ok 11815 no-useless-escape valid var foo = /[\]\]]/
> ok 11816 no-useless-escape valid var foo = /\[abc]/
> ok 11817 no-useless-escape valid var foo = /\[foo\.bar]/
> ok 11818 no-useless-escape valid var foo = /vi/m
> ok 11819 no-useless-escape valid var foo = /\B/
> ok 11820 no-useless-escape valid var foo = /\0/
> ok 11821 no-useless-escape valid var foo = /\1/
> ok 11822 no-useless-escape valid var foo = /(a)\1/
> ok 11823 no-useless-escape valid var foo = /(a)\12/
> ok 11824 no-useless-escape valid var foo = /[\0]/
> ok 11825 no-useless-escape valid var foo = 'foo \
 bar'
> ok 11826 no-useless-escape valid var foo = 'foo \
 bar'
> ok 11827 no-useless-escape valid /]/
> ok 11828 no-useless-escape valid /\]/
> ok 11829 no-useless-escape valid /\]/u
> ok 11830 no-useless-escape valid var foo = /foo\]/
> ok 11831 no-useless-escape valid var foo = /[[]\]/
> ok 11832 no-useless-escape valid var foo = /\[foo\.bar\]/
> ok 11833 no-useless-escape valid var foo = /(?<a>)\k<a>/
> ok 11834 no-useless-escape valid var foo = /(\\?<a>)/
> ok 11835 no-useless-escape valid var foo = /\p{ASCII}/u
> ok 11836 no-useless-escape valid var foo = /\P{ASCII}/u
> ok 11837 no-useless-escape valid var foo = /[\p{ASCII}]/u
> ok 11838 no-useless-escape valid var foo = /[\P{ASCII}]/u
> ok 11839 no-useless-escape invalid var foo = /\/;
> ok 11840 no-useless-escape invalid var foo = /\;/;
> ok 11841 no-useless-escape invalid var foo = "\'";
> ok 11842 no-useless-escape invalid var foo = "\/";
> ok 11843 no-useless-escape invalid var foo = "\a"
> ok 11844 no-useless-escape invalid var foo = "\B";
> ok 11845 no-useless-escape invalid var foo = "\@";
> ok 11846 no-useless-escape invalid var foo = "foo \a bar";
> ok 11847 no-useless-escape invalid var foo = '\"';
> ok 11848 no-useless-escape invalid var foo = '\';
> ok 11849 no-useless-escape invalid var foo = '\$';
> ok 11850 no-useless-escape invalid var foo = '\p';
> ok 11851 no-useless-escape invalid var foo = '\p\a\@';
> ok 11852 no-useless-escape invalid <foo attr={"\d"}/>
> ok 11853 no-useless-escape invalid var foo = '\`';
> ok 11854 no-useless-escape invalid var foo = `\"`;
> ok 11855 no-useless-escape invalid var foo = `\'`;
> ok 11856 no-useless-escape invalid var foo = `\`;
> ok 11857 no-useless-escape invalid var foo = '\`foo\`';
> ok 11858 no-useless-escape invalid var foo = `\"${foo}\"`;
> ok 11859 no-useless-escape invalid var foo = `\'${foo}\'`;
> ok 11860 no-useless-escape invalid var foo = `\${foo}`;
> ok 11861 no-useless-escape invalid let foo = '\ ';
> ok 11862 no-useless-escape invalid let foo = /\ /;
> ok 11863 no-useless-escape invalid var foo = `\$\{{${foo}`;
> ok 11864 no-useless-escape invalid var foo = `\$a${foo}`;
> ok 11865 no-useless-escape invalid var foo = `a\{{${foo}`;
> ok 11866 no-useless-escape invalid var foo = /[ab\-]/
> ok 11867 no-useless-escape invalid var foo = /[\-ab]/
> ok 11868 no-useless-escape invalid var foo = /[ab\?]/
> ok 11869 no-useless-escape invalid var foo = /[ab\.]/
> ok 11870 no-useless-escape invalid var foo = /[a\|b]/
> ok 11871 no-useless-escape invalid var foo = /\-/
> ok 11872 no-useless-escape invalid var foo = /[\-]/
> ok 11873 no-useless-escape invalid var foo = /[ab\$]/
> ok 11874 no-useless-escape invalid var foo = /[\(paren]/
> ok 11875 no-useless-escape invalid var foo = /[\[]/
> ok 11876 no-useless-escape invalid var foo = /[\/]/
> ok 11877 no-useless-escape invalid var foo = /[\B]/
> ok 11878 no-useless-escape invalid var foo = /[a][\-b]/
> ok 11879 no-useless-escape invalid var foo = /\-[]/
> ok 11880 no-useless-escape invalid var foo = /[a\^]/
> ok 11881 no-useless-escape invalid `multiline template
> literal with useless \escape`
> ok 11882 no-useless-escape invalid `\a```
> ok 11883 no-useless-rename valid let {foo} = obj;
> ok 11884 no-useless-rename valid let {foo: bar} = obj;
> ok 11885 no-useless-rename valid let {foo: bar, baz: qux} = obj;
> ok 11886 no-useless-rename valid let {foo: {bar: baz}} = obj;
> ok 11887 no-useless-rename valid let {foo, bar: {baz: qux}} = obj;
> ok 11888 no-useless-rename valid let {'foo': bar} = obj;
> ok 11889 no-useless-rename valid let {'foo': bar, 'baz': qux} = obj;
> ok 11890 no-useless-rename valid let {'foo': {'bar': baz}} = obj;
> ok 11891 no-useless-rename valid let {foo, 'bar': {'baz': qux}} = obj;
> ok 11892 no-useless-rename valid let {['foo']: bar} = obj;
> ok 11893 no-useless-rename valid let {['foo']: bar, ['baz']: qux} = obj;
> ok 11894 no-useless-rename valid let {['foo']: {['bar']: baz}} = obj;
> ok 11895 no-useless-rename valid let {foo, ['bar']: {['baz']: qux}} = obj;
> ok 11896 no-useless-rename valid let {[foo]: foo} = obj;
> ok 11897 no-useless-rename valid let {['foo']: foo} = obj;
> ok 11898 no-useless-rename valid let {[foo]: bar} = obj;
> ok 11899 no-useless-rename valid function func({foo}) {}
> ok 11900 no-useless-rename valid function func({foo: bar}) {}
> ok 11901 no-useless-rename valid function func({foo: bar, baz: qux}) {}
> ok 11902 no-useless-rename valid ({foo}) => {}
> ok 11903 no-useless-rename valid ({foo: bar}) => {}
> ok 11904 no-useless-rename valid ({foo: bar, baz: qui}) => {}
> ok 11905 no-useless-rename valid import * as foo from 'foo';
> ok 11906 no-useless-rename valid import foo from 'foo';
> ok 11907 no-useless-rename valid import {foo} from 'foo';
> ok 11908 no-useless-rename valid import {foo as bar} from 'foo';
> ok 11909 no-useless-rename valid import {foo as bar, baz as qux} from 'foo';
> ok 11910 no-useless-rename valid export {foo} from 'foo';
> ok 11911 no-useless-rename valid var foo = 0;export {foo as bar};
> ok 11912 no-useless-rename valid var foo = 0; var baz = 0; export {foo as bar, baz as qux};
> ok 11913 no-useless-rename valid export {foo as bar} from 'foo';
> ok 11914 no-useless-rename valid export {foo as bar, baz as qux} from 'foo';
> ok 11915 no-useless-rename valid const {...stuff} = myObject;
> ok 11916 no-useless-rename valid const {foo, ...stuff} = myObject;
> ok 11917 no-useless-rename valid const {foo: bar, ...stuff} = myObject;
> ok 11918 no-useless-rename valid let {foo: foo} = obj;
> ok 11919 no-useless-rename valid let {foo: foo, bar: baz} = obj;
> ok 11920 no-useless-rename valid let {foo: foo, bar: bar} = obj;
> ok 11921 no-useless-rename valid import {foo as foo} from 'foo';
> ok 11922 no-useless-rename valid import {foo as foo, bar as baz} from 'foo';
> ok 11923 no-useless-rename valid import {foo as foo, bar as bar} from 'foo';
> ok 11924 no-useless-rename valid var foo = 0;export {foo as foo};
> ok 11925 no-useless-rename valid var foo = 0;var bar = 0;export {foo as foo, bar as baz};
> ok 11926 no-useless-rename valid var foo = 0;var bar = 0;export {foo as foo, bar as bar};
> ok 11927 no-useless-rename valid export {foo as foo} from 'foo';
> ok 11928 no-useless-rename valid export {foo as foo, bar as baz} from 'foo';
> ok 11929 no-useless-rename valid export {foo as foo, bar as bar} from 'foo';
> ok 11930 no-useless-rename invalid let {foo: foo} = obj;
> ok 11931 no-useless-rename invalid let {a, foo: foo} = obj;
> ok 11932 no-useless-rename invalid let {foo: foo, bar: baz} = obj;
> ok 11933 no-useless-rename invalid let {foo: bar, baz: baz} = obj;
> ok 11934 no-useless-rename invalid let {foo: foo, bar: bar} = obj;
> ok 11935 no-useless-rename invalid let {foo: {bar: bar}} = obj;
> ok 11936 no-useless-rename invalid let {foo: {bar: bar}, baz: baz} = obj;
> ok 11937 no-useless-rename invalid let {'foo': foo} = obj;
> ok 11938 no-useless-rename invalid let {'foo': foo, 'bar': baz} = obj;
> ok 11939 no-useless-rename invalid let {'foo': bar, 'baz': baz} = obj;
> ok 11940 no-useless-rename invalid let {'foo': foo, 'bar': bar} = obj;
> ok 11941 no-useless-rename invalid let {'foo': {'bar': bar}} = obj;
> ok 11942 no-useless-rename invalid let {'foo': {'bar': bar}, 'baz': baz} = obj;
> ok 11943 no-useless-rename invalid function func({foo: foo}) {}
> ok 11944 no-useless-rename invalid function func({foo: foo, bar: baz}) {}
> ok 11945 no-useless-rename invalid function func({foo: bar, baz: baz}) {}
> ok 11946 no-useless-rename invalid function func({foo: foo, bar: bar}) {}
> ok 11947 no-useless-rename invalid ({foo: foo}) => {}
> ok 11948 no-useless-rename invalid ({foo: foo, bar: baz}) => {}
> ok 11949 no-useless-rename invalid ({foo: bar, baz: baz}) => {}
> ok 11950 no-useless-rename invalid ({foo: foo, bar: bar}) => {}
> ok 11951 no-useless-rename invalid const {foo: foo, ...stuff} = myObject;
> ok 11952 no-useless-rename invalid const {foo: foo, bar: baz, ...stuff} = myObject;
> ok 11953 no-useless-rename invalid const {foo: foo, bar: bar, ...stuff} = myObject;
> ok 11954 no-useless-rename invalid import {foo as foo} from 'foo';
> ok 11955 no-useless-rename invalid import {foo as foo, bar as baz} from 'foo';
> ok 11956 no-useless-rename invalid import {foo as bar, baz as baz} from 'foo';
> ok 11957 no-useless-rename invalid import {foo as foo, bar as bar} from 'foo';
> ok 11958 no-useless-rename invalid var foo = 0; export {foo as foo};
> ok 11959 no-useless-rename invalid var foo = 0; var bar = 0; export {foo as foo, bar as baz};
> ok 11960 no-useless-rename invalid var foo = 0; var baz = 0; export {foo as bar, baz as baz};
> ok 11961 no-useless-rename invalid var foo = 0; var bar = 0;export {foo as foo, bar as bar};
> ok 11962 no-useless-rename invalid export {foo as foo} from 'foo';
> ok 11963 no-useless-rename invalid export {foo as foo, bar as baz} from 'foo';
> ok 11964 no-useless-rename invalid var foo = 0; var bar = 0; export {foo as bar, baz as baz} from 'foo';
> ok 11965 no-useless-rename invalid export {foo as foo, bar as bar} from 'foo';
> ok 11966 no-useless-return valid function foo() { return 5; }
> ok 11967 no-useless-return valid function foo() { return null; }
> ok 11968 no-useless-return valid function foo() { return doSomething(); }
> ok 11969 no-useless-return valid 
>           function foo() {
>             if (bar) {
>               doSomething();
>               return;
>             } else {
>               doSomethingElse();
>             }
>             qux();
>           }
>         
> ok 11970 no-useless-return valid 
>           function foo() {
>             switch (bar) {
>               case 1:
>                 doSomething();
>                 return;
>               default:
>                 doSomethingElse();
>             }
>           }
>         
> ok 11971 no-useless-return valid 
>           function foo() {
>             switch (bar) {
>               default:
>                 doSomething();
>                 return;
>               case 1:
>                 doSomethingElse();
>             }
>           }
>         
> ok 11972 no-useless-return valid 
>           function foo() {
>             switch (bar) {
>               case 1:
>                 if (a) {
>                   doSomething();
>                   return;
>                 } else {
>                   doSomething();
>                   return;
>                 }
>               default:
>                 doSomethingElse();
>             }
>           }
>         
> ok 11973 no-useless-return valid 
>           function foo() {
>             for (var foo = 0; foo < 10; foo++) {
>               return;
>             }
>           }
>         
> ok 11974 no-useless-return valid 
>           function foo() {
>             for (var foo in bar) {
>               return;
>             }
>           }
>         
> ok 11975 no-useless-return valid 
>           function foo() {
>             try {
>               return 5;
>             } finally {
>               return; // This is allowed because it can override the returned value of 5
>             }
>           }
>         
> ok 11976 no-useless-return valid 
>           function foo() {
>             return;
>             doSomething();
>           }
>         
> ok 11977 no-useless-return valid 
>               function foo() {
>                 for (var foo of bar) return;
>               }
>             
> ok 11978 no-useless-return valid () => { if (foo) return; bar(); }
> ok 11979 no-useless-return valid () => 5
> ok 11980 no-useless-return valid () => { return; doSomething(); }
> ok 11981 no-useless-return valid if (foo) { return; } doSomething();
> ok 11982 no-useless-return valid 
>           function foo() {
>             if (bar) return;
>             return baz;
>           }
>         
> ok 11983 no-useless-return valid 
>           function foo() {
>             if (bar) {
>               return;
>             }
>             return baz;
>           }
>         
> ok 11984 no-useless-return valid 
>           function foo() {
>             if (bar) baz();
>             else return;
>             return 5;
>           }
>         
> ok 11985 no-useless-return valid 
>           function foo() {
>             return;
>             while (foo) return;
>             foo;
>           }
>         
> ok 11986 no-useless-return valid 
>           try {
>             throw new Error('foo');
>             while (false);
>           } catch (err) {}
>         
> ok 11987 no-useless-return invalid function foo() { return; }
> ok 11988 no-useless-return invalid function foo() { doSomething(); return; }
> ok 11989 no-useless-return invalid function foo() { if (condition) { bar(); return; } else { baz(); } }
> ok 11990 no-useless-return invalid function foo() { if (foo) return; }
> ok 11991 no-useless-return invalid foo(); return;
> ok 11992 no-useless-return invalid if (foo) { bar(); return; } else { baz(); }
> ok 11993 no-useless-return invalid 
>               function foo() {
>                 if (foo) {
>                   return;
>                 }
>                 return;
>               }
>             
> ok 11994 no-useless-return invalid 
>               function foo() {
>                 switch (bar) {
>                   case 1:
>                     doSomething();
>                   default:
>                     doSomethingElse();
>                     return;
>                 }
>               }
>             
> ok 11995 no-useless-return invalid 
>               function foo() {
>                 switch (bar) {
>                   default:
>                     doSomething();
>                   case 1:
>                     doSomething();
>                     return;
>                 }
>               }
>             
> ok 11996 no-useless-return invalid 
>               function foo() {
>                 switch (bar) {
>                   case 1:
>                     if (a) {
>                       doSomething();
>                       return;
>                     }
>                     break;
>                   default:
>                     doSomethingElse();
>                 }
>               }
>             
> ok 11997 no-useless-return invalid 
>               function foo() {
>                 switch (bar) {
>                   case 1:
>                     if (a) {
>                       doSomething();
>                       return;
>                     } else {
>                       doSomething();
>                     }
>                     break;
>                   default:
>                     doSomethingElse();
>                 }
>               }
>             
> ok 11998 no-useless-return invalid 
>               function foo() {
>                 switch (bar) {
>                   case 1:
>                     if (a) {
>                       doSomething();
>                       return;
>                     }
>                   default:
>                 }
>               }
>             
> ok 11999 no-useless-return invalid 
>               function foo() {
>                 try {} catch (err) { return; }
>               }
>             
> ok 12000 no-useless-return invalid 
>               function foo() {
>                 try {} finally {}
>                 return;
>               }
>             
> ok 12001 no-useless-return invalid 
>               function foo() {
>                 try {
>                   return 5;
>                 } finally {
>                   function bar() {
>                     return;
>                   }
>                 }
>               }
>             
> ok 12002 no-useless-return invalid () => { return; }
> ok 12003 no-useless-return invalid function foo() { return; return; }
> ok 12004 no-var valid const JOE = 'schmoe';
> ok 12005 no-var valid let moo = 'car';
> ok 12006 no-var valid const JOE = 'schmoe';
> ok 12007 no-var valid let moo = 'car';
> ok 12008 no-var invalid var foo = bar;
> ok 12009 no-var invalid var foo = bar, toast = most;
> ok 12010 no-var invalid var foo = bar; let toast = most;
> ok 12011 no-var invalid for (var a of b) { console.log(a); }
> ok 12012 no-var invalid for (var a in b) { console.log(a); }
> ok 12013 no-var invalid for (let a of b) { var c = 1; console.log(c); }
> ok 12014 no-var invalid for (var i = 0; i < list.length; ++i) { foo(i) }
> ok 12015 no-var invalid for (var i = 0, i = 0; false;);
> ok 12016 no-var invalid var i = 0; for (var i = 1; false;); console.log(i);
> ok 12017 no-var invalid var a, b, c; var a;
> ok 12018 no-var invalid var a; if (b) { var a; }
> ok 12019 no-var invalid if (foo) { var a, b, c; } a;
> ok 12020 no-var invalid for (var i = 0; i < 10; ++i) {} i;
> ok 12021 no-var invalid for (var a in obj) {} a;
> ok 12022 no-var invalid for (var a of list) {} a;
> ok 12023 no-var invalid switch (a) { case 0: var b = 1 }
> ok 12024 no-var invalid for (var a of b) { arr.push(() => a); }
> ok 12025 no-var invalid for (let a of b) { var c; console.log(c); c = 'hello'; }
> ok 12026 no-var invalid var a = a
> ok 12027 no-var invalid var {a = a} = {}
> ok 12028 no-var invalid var {a = b, b} = {}
> ok 12029 no-var invalid var {a, b = a} = {}
> ok 12030 no-var invalid var a = b, b = 1
> ok 12031 no-var invalid var a = b; var b = 1
> ok 12032 no-var invalid function foo() { a } var a = 1; foo()
> ok 12033 no-var invalid if (foo) var bar = 1;
> ok 12034 no-var invalid var foo = 1
> ok 12035 no-var invalid { var foo = 1 }
> ok 12036 no-var invalid if (true) { var foo = 1 }
> ok 12037 no-var invalid var foo = 1
> ok 12038 no-void valid var foo = bar()
> ok 12039 no-void valid foo.void()
> ok 12040 no-void valid foo.void = bar
> ok 12041 no-void valid delete foo;
> ok 12042 no-void invalid void 0
> ok 12043 no-void invalid void(0)
> ok 12044 no-void invalid var foo = void 0
> ok 12045 no-warning-comments valid // any comment
> ok 12046 no-warning-comments valid // any comment
> ok 12047 no-warning-comments valid // any comment
> ok 12048 no-warning-comments valid // any comment
> ok 12049 no-warning-comments valid // any comment with TODO, FIXME or XXX
> ok 12050 no-warning-comments valid // any comment with TODO, FIXME or XXX
> ok 12051 no-warning-comments valid /* any block comment */
> ok 12052 no-warning-comments valid /* any block comment */
> ok 12053 no-warning-comments valid /* any block comment */
> ok 12054 no-warning-comments valid /* any block comment */
> ok 12055 no-warning-comments valid /* any block comment with TODO, FIXME or XXX */
> ok 12056 no-warning-comments valid /* any block comment with TODO, FIXME or XXX */
> ok 12057 no-warning-comments valid /* any block comment with (TODO, FIXME's or XXX!) */
> ok 12058 no-warning-comments valid // comments containing terms as substrings like TodoMVC
> ok 12059 no-warning-comments valid // special regex characters don't cause problems
> ok 12060 no-warning-comments valid /*eslint no-warning-comments: [2, { "terms": ["todo", "fixme", "any other term"], "location": "anywhere" }]*/
> 
> var x = 10;
> 
> ok 12061 no-warning-comments valid /*eslint no-warning-comments: [2, { "terms": ["todo", "fixme", "any other term"], "location": "anywhere" }]*/
> 
> var x = 10;
> 
> ok 12062 no-warning-comments valid foo
> ok 12063 no-warning-comments invalid // fixme
> ok 12064 no-warning-comments invalid // any fixme
> ok 12065 no-warning-comments invalid // any fixme
> ok 12066 no-warning-comments invalid // any FIXME
> ok 12067 no-warning-comments invalid // any fIxMe
> ok 12068 no-warning-comments invalid /* any fixme */
> ok 12069 no-warning-comments invalid /* any FIXME */
> ok 12070 no-warning-comments invalid /* any fIxMe */
> ok 12071 no-warning-comments invalid // any fixme or todo
> ok 12072 no-warning-comments invalid /* any fixme or todo */
> ok 12073 no-warning-comments invalid /* any fixme or todo */
> ok 12074 no-warning-comments invalid /* fixme and todo */
> ok 12075 no-warning-comments invalid /* fixme and todo */
> ok 12076 no-warning-comments invalid /* any fixme */
> ok 12077 no-warning-comments invalid /* fixme! */
> ok 12078 no-warning-comments invalid // regex [litera|$]
> ok 12079 no-warning-comments invalid /* eslint one-var: 2 */
> ok 12080 no-warning-comments invalid /* eslint one-var: 2 */
> ok 12081 no-warning-comments invalid /* any block comment with TODO, FIXME or XXX */
> ok 12082 no-warning-comments invalid /* any block comment with (TODO, FIXME's or XXX!) */
> ok 12083 no-warning-comments invalid /** 
>  *any block comment 
> *with (TODO, FIXME's or XXX!) **/
> ok 12084 no-warning-comments invalid // any comment with TODO, FIXME or XXX
> ok 12085 no-whitespace-before-property valid foo.bar
> ok 12086 no-whitespace-before-property valid foo.bar()
> ok 12087 no-whitespace-before-property valid foo[bar]
> ok 12088 no-whitespace-before-property valid foo['bar']
> ok 12089 no-whitespace-before-property valid foo[0]
> ok 12090 no-whitespace-before-property valid foo[ bar ]
> ok 12091 no-whitespace-before-property valid foo[ 'bar' ]
> ok 12092 no-whitespace-before-property valid foo[ 0 ]
> ok 12093 no-whitespace-before-property valid foo
> .bar
> ok 12094 no-whitespace-before-property valid foo.
> bar
> ok 12095 no-whitespace-before-property valid foo
> .bar()
> ok 12096 no-whitespace-before-property valid foo.
> bar()
> ok 12097 no-whitespace-before-property valid foo
> [bar]
> ok 12098 no-whitespace-before-property valid foo
> ['bar']
> ok 12099 no-whitespace-before-property valid foo
> [0]
> ok 12100 no-whitespace-before-property valid foo
> [ bar ]
> ok 12101 no-whitespace-before-property valid foo.
>  bar
> ok 12102 no-whitespace-before-property valid foo
> . bar
> ok 12103 no-whitespace-before-property valid foo.
>  bar()
> ok 12104 no-whitespace-before-property valid foo
> . bar()
> ok 12105 no-whitespace-before-property valid foo
>  [bar]
> ok 12106 no-whitespace-before-property valid foo
>  ['bar']
> ok 12107 no-whitespace-before-property valid foo
>  [0]
> ok 12108 no-whitespace-before-property valid foo
>  [ bar ]
> ok 12109 no-whitespace-before-property valid foo.
> 	bar
> ok 12110 no-whitespace-before-property valid foo
> .	bar
> ok 12111 no-whitespace-before-property valid foo.
> 	bar()
> ok 12112 no-whitespace-before-property valid foo
> .	bar()
> ok 12113 no-whitespace-before-property valid foo
> 	[bar]
> ok 12114 no-whitespace-before-property valid foo
> 	['bar']
> ok 12115 no-whitespace-before-property valid foo
> 	[0]
> ok 12116 no-whitespace-before-property valid foo
> 	[ bar ]
> ok 12117 no-whitespace-before-property valid foo.bar.baz
> ok 12118 no-whitespace-before-property valid foo
> .bar
> .baz
> ok 12119 no-whitespace-before-property valid foo.
> bar.
> baz
> ok 12120 no-whitespace-before-property valid foo.bar().baz()
> ok 12121 no-whitespace-before-property valid foo
> .bar()
> .baz()
> ok 12122 no-whitespace-before-property valid foo.
> bar().
> baz()
> ok 12123 no-whitespace-before-property valid foo
> .bar
> [baz]
> ok 12124 no-whitespace-before-property valid foo
> .bar
> ['baz']
> ok 12125 no-whitespace-before-property valid foo
> .bar
> [0]
> ok 12126 no-whitespace-before-property valid foo
> .bar
> [ baz ]
> ok 12127 no-whitespace-before-property valid foo
>  .bar
>  .baz
> ok 12128 no-whitespace-before-property valid foo.
>  bar.
>  baz
> ok 12129 no-whitespace-before-property valid foo
>  .bar()
>  .baz()
> ok 12130 no-whitespace-before-property valid foo.
>  bar().
>  baz()
> ok 12131 no-whitespace-before-property valid foo
>  .bar
>  [baz]
> ok 12132 no-whitespace-before-property valid foo
>  .bar
>  ['baz']
> ok 12133 no-whitespace-before-property valid foo
>  .bar
>  [0]
> ok 12134 no-whitespace-before-property valid foo
>  .bar
>  [ baz ]
> ok 12135 no-whitespace-before-property valid foo
> 	.bar
> 	.baz
> ok 12136 no-whitespace-before-property valid foo.
> 	bar.
> 	baz
> ok 12137 no-whitespace-before-property valid foo
> 	.bar()
> 	.baz()
> ok 12138 no-whitespace-before-property valid foo.
> 	bar().
> 	baz()
> ok 12139 no-whitespace-before-property valid foo
> 	.bar
> 	[baz]
> ok 12140 no-whitespace-before-property valid foo
> 	.bar
> 	['baz']
> ok 12141 no-whitespace-before-property valid foo
> 	.bar
> 	[0]
> ok 12142 no-whitespace-before-property valid foo
> 	.bar
> 	[ baz ]
> ok 12143 no-whitespace-before-property valid foo['bar' + baz]
> ok 12144 no-whitespace-before-property valid foo[ 'bar' + baz ]
> ok 12145 no-whitespace-before-property valid (foo + bar).baz
> ok 12146 no-whitespace-before-property valid ( foo + bar ).baz
> ok 12147 no-whitespace-before-property valid (foo ? bar : baz).qux
> ok 12148 no-whitespace-before-property valid ( foo ? bar : baz ).qux
> ok 12149 no-whitespace-before-property valid (foo ? bar : baz)[qux]
> ok 12150 no-whitespace-before-property valid ( foo ? bar : baz )[qux]
> ok 12151 no-whitespace-before-property valid ( foo ? bar : baz )[0].qux
> ok 12152 no-whitespace-before-property valid foo.bar[('baz')]
> ok 12153 no-whitespace-before-property valid foo.bar[ ('baz') ]
> ok 12154 no-whitespace-before-property valid foo[[bar]]
> ok 12155 no-whitespace-before-property valid foo[ [ bar ] ]
> ok 12156 no-whitespace-before-property valid foo[['bar']]
> ok 12157 no-whitespace-before-property valid foo[ [ 'bar' ] ]
> ok 12158 no-whitespace-before-property valid foo[(('baz'))]
> ok 12159 no-whitespace-before-property valid foo[ (('baz'))]
> ok 12160 no-whitespace-before-property valid foo[0][[('baz')]]
> ok 12161 no-whitespace-before-property valid foo[bar.baz('qux')]
> ok 12162 no-whitespace-before-property valid foo[(bar.baz() + 0) + qux]
> ok 12163 no-whitespace-before-property valid foo['bar ' + 1 + ' baz']
> ok 12164 no-whitespace-before-property valid 5['toExponential']()
> ok 12165 no-whitespace-before-property invalid foo. bar
> ok 12166 no-whitespace-before-property invalid foo .bar
> ok 12167 no-whitespace-before-property invalid foo [bar]
> ok 12168 no-whitespace-before-property invalid foo [0]
> ok 12169 no-whitespace-before-property invalid foo ['bar']
> ok 12170 no-whitespace-before-property invalid foo. bar. baz
> ok 12171 no-whitespace-before-property invalid foo .bar. baz
> ok 12172 no-whitespace-before-property invalid foo [bar] [baz]
> ok 12173 no-whitespace-before-property invalid foo [bar][baz]
> ok 12174 no-whitespace-before-property invalid foo[bar] [baz]
> ok 12175 no-whitespace-before-property invalid foo.bar [baz]
> ok 12176 no-whitespace-before-property invalid foo. bar[baz]
> ok 12177 no-whitespace-before-property invalid foo[bar]. baz
> ok 12178 no-whitespace-before-property invalid foo[ bar ] [ baz ]
> ok 12179 no-whitespace-before-property invalid foo [ 0 ][ baz ]
> ok 12180 no-whitespace-before-property invalid foo[ 0 ] [ 'baz' ]
> ok 12181 no-whitespace-before-property invalid foo	.bar
> ok 12182 no-whitespace-before-property invalid foo.	bar
> ok 12183 no-whitespace-before-property invalid foo	.bar()
> ok 12184 no-whitespace-before-property invalid foo.	bar()
> ok 12185 no-whitespace-before-property invalid foo	[bar]
> ok 12186 no-whitespace-before-property invalid foo	[0]
> ok 12187 no-whitespace-before-property invalid foo	['bar']
> ok 12188 no-whitespace-before-property invalid foo.	bar.	baz
> ok 12189 no-whitespace-before-property invalid foo	.bar.	baz
> ok 12190 no-whitespace-before-property invalid foo.	bar().	baz()
> ok 12191 no-whitespace-before-property invalid foo	.bar().	baz()
> ok 12192 no-whitespace-before-property invalid foo	[bar]	[baz]
> ok 12193 no-whitespace-before-property invalid foo	[bar][baz]
> ok 12194 no-whitespace-before-property invalid foo[bar]	[baz]
> ok 12195 no-whitespace-before-property invalid foo.bar	[baz]
> ok 12196 no-whitespace-before-property invalid foo.	bar[baz]
> ok 12197 no-whitespace-before-property invalid foo[bar].	baz
> ok 12198 no-whitespace-before-property invalid foo [bar]
>  .baz
> ok 12199 no-whitespace-before-property invalid foo. bar
>  .baz
> ok 12200 no-whitespace-before-property invalid foo .bar
> .baz
> ok 12201 no-whitespace-before-property invalid foo.
>  bar. baz
> ok 12202 no-whitespace-before-property invalid foo.
> bar . baz
> ok 12203 no-whitespace-before-property invalid foo. bar()
>  .baz()
> ok 12204 no-whitespace-before-property invalid foo .bar()
> .baz()
> ok 12205 no-whitespace-before-property invalid foo.
>  bar(). baz()
> ok 12206 no-whitespace-before-property invalid foo.
> bar() . baz()
> ok 12207 no-whitespace-before-property invalid foo	[bar]
> 	.baz
> ok 12208 no-whitespace-before-property invalid foo.	bar
> 	.baz
> ok 12209 no-whitespace-before-property invalid foo	.bar
> .baz
> ok 12210 no-whitespace-before-property invalid foo.
> 	bar.	baz
> ok 12211 no-whitespace-before-property invalid foo.
> bar	.	baz
> ok 12212 no-whitespace-before-property invalid foo.	bar()
> 	.baz()
> ok 12213 no-whitespace-before-property invalid foo	.bar()
> .baz()
> ok 12214 no-whitespace-before-property invalid foo.
> 	bar().	baz()
> ok 12215 no-whitespace-before-property invalid foo.
> bar()	.	baz()
> ok 12216 no-whitespace-before-property invalid foo ['bar' + baz]
> ok 12217 no-whitespace-before-property invalid (foo + bar) .baz
> ok 12218 no-whitespace-before-property invalid (foo + bar). baz
> ok 12219 no-whitespace-before-property invalid (foo + bar) [baz]
> ok 12220 no-whitespace-before-property invalid (foo ? bar : baz) .qux
> ok 12221 no-whitespace-before-property invalid (foo ? bar : baz). qux
> ok 12222 no-whitespace-before-property invalid (foo ? bar : baz) [qux]
> ok 12223 no-whitespace-before-property invalid ( foo ? bar : baz ) [0].qux
> ok 12224 no-whitespace-before-property invalid ( foo ? bar : baz )[0] .qux
> ok 12225 no-whitespace-before-property invalid ( foo ? bar : baz )[0]. qux
> ok 12226 no-whitespace-before-property invalid ( foo ? bar : baz ) [0]. qux
> ok 12227 no-whitespace-before-property invalid foo.bar [('baz')]
> ok 12228 no-whitespace-before-property invalid foo .bar[('baz')]
> ok 12229 no-whitespace-before-property invalid foo .bar [('baz')]
> ok 12230 no-whitespace-before-property invalid foo [(('baz'))]
> ok 12231 no-whitespace-before-property invalid foo [[baz]]
> ok 12232 no-whitespace-before-property invalid foo [ [ baz ] ]
> ok 12233 no-whitespace-before-property invalid foo [['baz']]
> ok 12234 no-whitespace-before-property invalid foo [ [ 'baz' ] ]
> ok 12235 no-whitespace-before-property invalid foo[0] [[('baz')]]
> ok 12236 no-whitespace-before-property invalid foo [0][[('baz')]]
> ok 12237 no-whitespace-before-property invalid foo [0] [[('baz')]]
> ok 12238 no-whitespace-before-property invalid foo [bar.baz('qux')]
> ok 12239 no-whitespace-before-property invalid foo[bar .baz('qux')]
> ok 12240 no-whitespace-before-property invalid foo [bar . baz('qux')]
> ok 12241 no-whitespace-before-property invalid foo [(bar.baz() + 0) + qux]
> ok 12242 no-whitespace-before-property invalid foo[(bar. baz() + 0) + qux]
> ok 12243 no-whitespace-before-property invalid foo [(bar. baz() + 0) + qux]
> ok 12244 no-whitespace-before-property invalid foo ['bar ' + 1 + ' baz']
> ok 12245 no-whitespace-before-property invalid 5 .toExponential()
> ok 12246 no-whitespace-before-property invalid 5       .toExponential()
> ok 12247 no-whitespace-before-property invalid 5. .toExponential()
> ok 12248 no-whitespace-before-property invalid 5.0 .toExponential()
> ok 12249 no-whitespace-before-property invalid 0x5 .toExponential()
> ok 12250 no-whitespace-before-property invalid 5e0 .toExponential()
> ok 12251 no-whitespace-before-property invalid 5e-0 .toExponential()
> ok 12252 no-whitespace-before-property invalid 5 ['toExponential']()
> ok 12253 no-whitespace-before-property invalid 05 .toExponential()
> ok 12254 no-with valid foo.bar()
> ok 12255 no-with invalid with(foo) { bar() }
> ok 12256 nonblock-statement-body-position valid if (foo) bar;
> ok 12257 nonblock-statement-body-position valid while (foo) bar;
> ok 12258 nonblock-statement-body-position valid do foo; while (bar)
> ok 12259 nonblock-statement-body-position valid for (;foo;) bar;
> ok 12260 nonblock-statement-body-position valid for (foo in bar) baz;
> ok 12261 nonblock-statement-body-position valid for (foo of bar) baz;
> ok 12262 nonblock-statement-body-position valid if (foo) bar; else baz;
> ok 12263 nonblock-statement-body-position valid 
>             if (foo) bar(
>                 baz
>             );
>         
> ok 12264 nonblock-statement-body-position valid if (foo) bar();
> ok 12265 nonblock-statement-body-position valid while (foo) bar();
> ok 12266 nonblock-statement-body-position valid do bar(); while (foo)
> ok 12267 nonblock-statement-body-position valid for (;foo;) bar();
> ok 12268 nonblock-statement-body-position valid 
>                 if (foo)
>                     bar();
>             
> ok 12269 nonblock-statement-body-position valid 
>                 while (foo)
>                     bar();
>             
> ok 12270 nonblock-statement-body-position valid 
>                 do
>                     bar();
>                 while (foo)
>             
> ok 12271 nonblock-statement-body-position valid 
>                 for (;foo;)
>                     bar();
>             
> ok 12272 nonblock-statement-body-position valid 
>                 for (foo in bar)
>                     bar();
>             
> ok 12273 nonblock-statement-body-position valid 
>                 for (foo of bar)
>                     bar();
>             
> ok 12274 nonblock-statement-body-position valid 
>                 if (foo)
>                     bar();
>                 else
>                     baz();
>             
> ok 12275 nonblock-statement-body-position valid if (foo) bar();
> ok 12276 nonblock-statement-body-position valid 
>                 if (foo)
>                     bar();
>             
> ok 12277 nonblock-statement-body-position valid if (foo) bar();
> ok 12278 nonblock-statement-body-position valid 
>                 while (foo)
>                     bar();
>             
> ok 12279 nonblock-statement-body-position valid 
>                 while (foo)
>                     bar();
>             
> ok 12280 nonblock-statement-body-position valid while (foo) bar();
> ok 12281 nonblock-statement-body-position valid while (foo) bar();
> ok 12282 nonblock-statement-body-position valid  
> ok 12283 nonblock-statement-body-position valid 
>             if (foo) {
>             } else if (bar) {
>             }
>         
> ok 12284 nonblock-statement-body-position valid 
>                 if (foo) {
>                 } else if (bar) {
>                 }
>             
> ok 12285 nonblock-statement-body-position valid 
>             if (foo) {
>             } else
>               if (bar) {
>               }
>         
> ok 12286 nonblock-statement-body-position valid 
>                 if (foo) {
>                 } else
>                   if (bar) {
>                   }
>             
> ok 12287 nonblock-statement-body-position invalid 
>                 if (foo)
>                     bar();
>             
> ok 12288 nonblock-statement-body-position invalid 
>                 while (foo)
>                     bar();
>             
> ok 12289 nonblock-statement-body-position invalid 
>                 do
>                     bar();
>                 while (foo)
>             
> ok 12290 nonblock-statement-body-position invalid 
>                 for (;foo;)
>                     bar();
>             
> ok 12291 nonblock-statement-body-position invalid 
>                 for (foo in bar)
>                     baz();
>             
> ok 12292 nonblock-statement-body-position invalid 
>                 for (foo of bar)
>                     baz();
>             
> ok 12293 nonblock-statement-body-position invalid 
>                 if (foo)
>                     bar();
>                 else
>                     baz();
>             
> ok 12294 nonblock-statement-body-position invalid if (foo) bar();
> ok 12295 nonblock-statement-body-position invalid while (foo) bar();
> ok 12296 nonblock-statement-body-position invalid do bar(); while (foo)
> ok 12297 nonblock-statement-body-position invalid for (;foo;) bar();
> ok 12298 nonblock-statement-body-position invalid for (foo in bar) baz();
> ok 12299 nonblock-statement-body-position invalid for (foo of bar) baz();
> ok 12300 nonblock-statement-body-position invalid 
>                 if (foo) bar();
>                 else baz();
>             
> ok 12301 nonblock-statement-body-position invalid if (foo) bar();
> ok 12302 nonblock-statement-body-position invalid 
>                 while (foo)
>                     bar();
>             
> ok 12303 nonblock-statement-body-position invalid do bar(); while (foo)
> ok 12304 object-curly-newline valid var a = {
> };
> ok 12305 object-curly-newline valid var a = {
>    foo
> };
> ok 12306 object-curly-newline valid var a = { foo }
> ok 12307 object-curly-newline valid var a = {
> };
> ok 12308 object-curly-newline valid var b = {
>     a: 1
> };
> ok 12309 object-curly-newline valid var c = {
>     a: 1, b: 2
> };
> ok 12310 object-curly-newline valid var d = {
>     a: 1,
>     b: 2
> };
> ok 12311 object-curly-newline valid var e = {
>     a: function foo() {
>         dosomething();
>     }
> };
> ok 12312 object-curly-newline valid function foo({
>  a,
>  b
> } : MyType) {}
> ok 12313 object-curly-newline valid function foo({
>  a,
>  b
> } : { a : string, b : string }) {}
> ok 12314 object-curly-newline valid var a = {};
> ok 12315 object-curly-newline valid var b = {a: 1};
> ok 12316 object-curly-newline valid var c = {a: 1, b: 2};
> ok 12317 object-curly-newline valid var d = {a: 1,
>     b: 2};
> ok 12318 object-curly-newline valid var e = {a: function foo() {
>     dosomething();
> }};
> ok 12319 object-curly-newline valid function foo({ a, b } : MyType) {}
> ok 12320 object-curly-newline valid function foo({ a, b } : { a : string, b : string }) {}
> ok 12321 object-curly-newline valid var a = {};
> ok 12322 object-curly-newline valid var b = {a: 1};
> ok 12323 object-curly-newline valid var c = {a: 1, b: 2};
> ok 12324 object-curly-newline valid var d = {
>     a: 1,
>     b: 2
> };
> ok 12325 object-curly-newline valid var e = {
>     a: function foo() {
>         dosomething();
>     }
> };
> ok 12326 object-curly-newline valid var obj = {
>     // comment
>     a: 1
> };
> ok 12327 object-curly-newline valid var obj = { // comment
>     a: 1
> };
> ok 12328 object-curly-newline valid var a = {};
> ok 12329 object-curly-newline valid var b = {a: 1};
> ok 12330 object-curly-newline valid var c = {
>     a: 1, b: 2
> };
> ok 12331 object-curly-newline valid var d = {
>     a: 1,
>     b: 2
> };
> ok 12332 object-curly-newline valid var e = {a: function foo() {
>     dosomething();
> }};
> ok 12333 object-curly-newline valid var a = {};
> ok 12334 object-curly-newline valid var b = {a: 1};
> ok 12335 object-curly-newline valid var c = {
>     a: 1, b: 2
> };
> ok 12336 object-curly-newline valid var d = {
>     a: 1, 
>     b: 2
> };
> ok 12337 object-curly-newline valid var e = {
>     a: function foo() {
>         dosomething();
>     }
> };
> ok 12338 object-curly-newline valid var b = {
>     a: 1
> };
> ok 12339 object-curly-newline valid var c = {a: 1, b: 2};
> ok 12340 object-curly-newline valid var c = {
>     a: 1,
>     b: 2
> };
> ok 12341 object-curly-newline valid var e = {a: function() { dosomething();}};
> ok 12342 object-curly-newline valid var e = {
>     a: function() { dosomething();}
> };
> ok 12343 object-curly-newline valid let {} = {a: 1};
> ok 12344 object-curly-newline valid let {a} = {a: 1};
> ok 12345 object-curly-newline valid let {
> } = {a: 1};
> ok 12346 object-curly-newline valid let {
>     a
> } = {a: 1};
> ok 12347 object-curly-newline valid let {a, b} = {a: 1, b: 1};
> ok 12348 object-curly-newline valid let {
>     a, b
> } = {a: 1, b: 1};
> ok 12349 object-curly-newline valid let {k = function() {dosomething();}} = obj;
> ok 12350 object-curly-newline valid let {
>     k = function() {
>         dosomething();
>     }
> } = obj;
> ok 12351 object-curly-newline valid var c = {a: 1,
> b: 2};
> ok 12352 object-curly-newline valid let {a,
> b} = {a: 1, b: 1};
> ok 12353 object-curly-newline valid var c = { a: 1 };
> ok 12354 object-curly-newline valid var c = {
> a: 1
> };
> ok 12355 object-curly-newline valid let {a} = {
> a: 1
> };
> ok 12356 object-curly-newline valid let {
> a
> } = {
> a: 1
> };
> ok 12357 object-curly-newline valid let {a, b} = {
>     a: 1, b: 2
> };
> ok 12358 object-curly-newline valid import {
>     a,
>  b
> } from 'module';
> ok 12359 object-curly-newline valid import {a as a, b} from 'module';
> ok 12360 object-curly-newline valid import { a, } from 'module';
> ok 12361 object-curly-newline valid import {
> a, 
> b
> } from 'module';
> ok 12362 object-curly-newline valid import {
>  a,
> } from 'module';
> ok 12363 object-curly-newline valid import { a } from 'module';
> ok 12364 object-curly-newline valid import {
> a, b
> } from 'module';
> ok 12365 object-curly-newline valid import {a, b} from 'module';
> ok 12366 object-curly-newline valid import DefaultExport, {a} from 'module';
> ok 12367 object-curly-newline valid var a = 0, b = 0;
> export {a,
> b};
> ok 12368 object-curly-newline valid var a = 0, b = 0;
> export {
> a as a, b
> } from 'module';
> ok 12369 object-curly-newline valid export { a } from 'module';
> ok 12370 object-curly-newline valid export {
> a, 
> b
> } from 'module';
> ok 12371 object-curly-newline valid export {a, 
> b} from 'module';
> ok 12372 object-curly-newline valid export {
> a, b
> } from 'module';
> ok 12373 object-curly-newline valid export {a, b} from 'module';
> ok 12374 object-curly-newline invalid var a = { a
> };
> ok 12375 object-curly-newline invalid var a = {};
> ok 12376 object-curly-newline invalid var b = {a: 1};
> ok 12377 object-curly-newline invalid var c = {a: 1, b: 2};
> ok 12378 object-curly-newline invalid var d = {a: 1,
>     b: 2};
> ok 12379 object-curly-newline invalid var e = {a: function foo() {
>     dosomething();
> }};
> ok 12380 object-curly-newline invalid function foo({ a, b } : MyType) {}
> ok 12381 object-curly-newline invalid function foo({ a, b } : { a : string, b : string }) {}
> ok 12382 object-curly-newline invalid var a = {
> };
> ok 12383 object-curly-newline invalid var b = {
>     a: 1
> };
> ok 12384 object-curly-newline invalid var c = {
>     a: 1, b: 2
> };
> ok 12385 object-curly-newline invalid var d = {
>     a: 1,
>     b: 2
> };
> ok 12386 object-curly-newline invalid var e = {
>     a: function foo() {
>         dosomething();
>     }
> };
> ok 12387 object-curly-newline invalid function foo({
>  a,
>  b
> } : MyType) {}
> ok 12388 object-curly-newline invalid function foo({
>  a,
>  b
> } : { a : string, b : string }) {}
> ok 12389 object-curly-newline invalid var a = {
> };
> ok 12390 object-curly-newline invalid var a = {
>  /* comment */ 
> };
> ok 12391 object-curly-newline invalid var a = { // comment
> };
> ok 12392 object-curly-newline invalid var b = {
>     a: 1
> };
> ok 12393 object-curly-newline invalid var b = {
>    a: 1 // comment
> };
> ok 12394 object-curly-newline invalid var c = {
>     a: 1, b: 2
> };
> ok 12395 object-curly-newline invalid var c = {
>     a: 1, b: 2 // comment
> };
> ok 12396 object-curly-newline invalid var d = {a: 1,
>     b: 2};
> ok 12397 object-curly-newline invalid var d = {a: 1, // comment
>     b: 2};
> ok 12398 object-curly-newline invalid var e = {a: function foo() {
>     dosomething();
> }};
> ok 12399 object-curly-newline invalid var e = {a: function foo() { // comment
>     dosomething();
> }};
> ok 12400 object-curly-newline invalid var e = {a: 1, /* comment */
>     b: 2, // another comment
> };
> ok 12401 object-curly-newline invalid var f = { /* comment */ a:
> 2
> };
> ok 12402 object-curly-newline invalid var f = {
> /* comment */
> a: 1};
> ok 12403 object-curly-newline invalid var a = {
> };
> ok 12404 object-curly-newline invalid var b = {
>     a: 1
> };
> ok 12405 object-curly-newline invalid var c = {a: 1, b: 2};
> ok 12406 object-curly-newline invalid var d = {a: 1,
>     b: 2};
> ok 12407 object-curly-newline invalid var e = {
>     a: function foo() {
>         dosomething();
>     }
> };
> ok 12408 object-curly-newline invalid var a = {
> };
> ok 12409 object-curly-newline invalid var b = {
>     a: 1
> };
> ok 12410 object-curly-newline invalid var c = {a: 1, b: 2};
> ok 12411 object-curly-newline invalid var d = {a: 1, 
>     b: 2};
> ok 12412 object-curly-newline invalid var e = {a: function foo() {
>     dosomething();
> }};
> ok 12413 object-curly-newline invalid var b = {a: 1
> };
> ok 12414 object-curly-newline invalid var b = {
> a: 1};
> ok 12415 object-curly-newline invalid var c = {a: 1, b: 2
> };
> ok 12416 object-curly-newline invalid var c = {
> a: 1, b: 2};
> ok 12417 object-curly-newline invalid var c = {a: 1,
> b: 2};
> ok 12418 object-curly-newline invalid var e = {a: function() {
> dosomething();
> }};
> ok 12419 object-curly-newline invalid let {a
> } = {a: 1}
> ok 12420 object-curly-newline invalid let {
> a} = {a: 1}
> ok 12421 object-curly-newline invalid let {a, b
> } = {a: 1, b: 2}
> ok 12422 object-curly-newline invalid let {
> a, b} = {a: 1, b: 2}
> ok 12423 object-curly-newline invalid let {a,
> b} = {a: 1, b: 2}
> ok 12424 object-curly-newline invalid let {e = function() {
> dosomething();
> }} = a;
> ok 12425 object-curly-newline invalid var c = {
> a: 1,
> b: 2};
> ok 12426 object-curly-newline invalid var c = {a: 1,
> b: 2
> };
> ok 12427 object-curly-newline invalid let {
> a,
> b} = {a: 1, b: 2};
> ok 12428 object-curly-newline invalid let {a,
> b
> } = {a: 1, b: 2};
> ok 12429 object-curly-newline invalid var c = {a: 1, b: 2};
> ok 12430 object-curly-newline invalid let {a, b} = {
> a: 1, b: 2
> };
> ok 12431 object-curly-newline invalid let {
>     a, b
> } = {a: 1, b: 2};
> ok 12432 object-curly-newline invalid import {
>     a,
>  b
> } from 'module';
> ok 12433 object-curly-newline invalid import {a, b} from 'module';
> ok 12434 object-curly-newline invalid import {a as c, b} from 'module';
> ok 12435 object-curly-newline invalid import {a, 
> b} from 'module';
> ok 12436 object-curly-newline invalid import {a, 
> b
> } from 'module';
> ok 12437 object-curly-newline invalid import {a, b
> } from 'module';
> ok 12438 object-curly-newline invalid import {a, b} from 'module';
> ok 12439 object-curly-newline invalid import {
> a, b
> } from 'module';
> ok 12440 object-curly-newline invalid import DefaultExport, {a, b} from 'module';
> ok 12441 object-curly-newline invalid var a = 0; var b = 0;
> export {
>     a,
>     b
> };
> ok 12442 object-curly-newline invalid export {a as a, b} from 'module';
> ok 12443 object-curly-newline invalid export {a, 
> b} from 'module';
> ok 12444 object-curly-newline invalid export {a, 
> b,
> } from 'module';
> ok 12445 object-curly-newline invalid export {a, b
> } from 'module';
> ok 12446 object-curly-newline invalid export {a, b,} from 'module';
> ok 12447 object-curly-newline invalid export {
> a, b
> } from 'module';
> ok 12448 object-curly-spacing valid var obj = { foo: bar, baz: qux };
> ok 12449 object-curly-spacing valid var obj = { foo: { bar: quxx }, baz: qux };
> ok 12450 object-curly-spacing valid var obj = {
> foo: bar,
> baz: qux
> };
> ok 12451 object-curly-spacing valid var { x } = y
> ok 12452 object-curly-spacing valid var { x, y } = y
> ok 12453 object-curly-spacing valid var { x,y } = y
> ok 12454 object-curly-spacing valid var {
> x,y } = y
> ok 12455 object-curly-spacing valid var {
> x,y
> } = z
> ok 12456 object-curly-spacing valid var { x = 10, y } = y
> ok 12457 object-curly-spacing valid var { x: { z }, y } = y
> ok 12458 object-curly-spacing valid var {
> y,
> } = x
> ok 12459 object-curly-spacing valid var { y, } = x
> ok 12460 object-curly-spacing valid var { y: x } = x
> ok 12461 object-curly-spacing valid import door from 'room'
> ok 12462 object-curly-spacing valid import * as door from 'room'
> ok 12463 object-curly-spacing valid import { door } from 'room'
> ok 12464 object-curly-spacing valid import {
> door } from 'room'
> ok 12465 object-curly-spacing valid export { door } from 'room'
> ok 12466 object-curly-spacing valid import { house, mouse } from 'caravan'
> ok 12467 object-curly-spacing valid import house, { mouse } from 'caravan'
> ok 12468 object-curly-spacing valid import door, { house, mouse } from 'caravan'
> ok 12469 object-curly-spacing valid var door = 0;export { door }
> ok 12470 object-curly-spacing valid import 'room'
> ok 12471 object-curly-spacing valid import { bar as x } from 'foo';
> ok 12472 object-curly-spacing valid import { x, } from 'foo';
> ok 12473 object-curly-spacing valid import {
> x,
> } from 'foo';
> ok 12474 object-curly-spacing valid export { x, } from 'foo';
> ok 12475 object-curly-spacing valid export {
> x,
> } from 'foo';
> ok 12476 object-curly-spacing valid var foo = {};
> ok 12477 object-curly-spacing valid var obj = { 'foo': { 'bar': 1, 'baz': 2 }};
> ok 12478 object-curly-spacing valid var a = { noop: function () {} };
> ok 12479 object-curly-spacing valid var { y: { z }} = x
> ok 12480 object-curly-spacing valid var obj = { 'foo': [ 1, 2 ]};
> ok 12481 object-curly-spacing valid var a = { thingInList: list[0] };
> ok 12482 object-curly-spacing valid var obj = { 'qux': [ 1, 2 ], 'foo': { 'bar': 1, 'baz': 2 }};
> ok 12483 object-curly-spacing valid var obj = { 'foo': { 'bar': 1, 'baz': 2 }, 'qux': [ 1, 2 ]};
> ok 12484 object-curly-spacing valid var obj = {foo: bar,
> baz: qux
> };
> ok 12485 object-curly-spacing valid var obj = {
> foo: bar,
> baz: qux};
> ok 12486 object-curly-spacing valid var obj = {foo: bar, baz: qux};
> ok 12487 object-curly-spacing valid var obj = {foo: {bar: quxx}, baz: qux};
> ok 12488 object-curly-spacing valid var obj = {foo: {
> bar: quxx}, baz: qux
> };
> ok 12489 object-curly-spacing valid var obj = {foo: {
> bar: quxx
> }, baz: qux};
> ok 12490 object-curly-spacing valid var obj = {
> foo: bar,
> baz: qux
> };
> ok 12491 object-curly-spacing valid var {x} = y
> ok 12492 object-curly-spacing valid var {x, y} = y
> ok 12493 object-curly-spacing valid var {x,y} = y
> ok 12494 object-curly-spacing valid var {
> x,y
> } = y
> ok 12495 object-curly-spacing valid var {x = 10} = y
> ok 12496 object-curly-spacing valid var {x = 10, y} = y
> ok 12497 object-curly-spacing valid var {x: {z}, y} = y
> ok 12498 object-curly-spacing valid var {
> x: {z
> }, y} = y
> ok 12499 object-curly-spacing valid var {
> y,
> } = x
> ok 12500 object-curly-spacing valid var {y,} = x
> ok 12501 object-curly-spacing valid var {y:x} = x
> ok 12502 object-curly-spacing valid import door from 'room'
> ok 12503 object-curly-spacing valid import * as door from 'room'
> ok 12504 object-curly-spacing valid import {door} from 'room'
> ok 12505 object-curly-spacing valid export {door} from 'room'
> ok 12506 object-curly-spacing valid import {
> door} from 'room'
> ok 12507 object-curly-spacing valid export {
> door
> } from 'room'
> ok 12508 object-curly-spacing valid import {house,mouse} from 'caravan'
> ok 12509 object-curly-spacing valid import {house, mouse} from 'caravan'
> ok 12510 object-curly-spacing valid var door = 0;export {door}
> ok 12511 object-curly-spacing valid import 'room'
> ok 12512 object-curly-spacing valid import x, {bar} from 'foo';
> ok 12513 object-curly-spacing valid import x, {bar, baz} from 'foo';
> ok 12514 object-curly-spacing valid import {bar as y} from 'foo';
> ok 12515 object-curly-spacing valid import {x,} from 'foo';
> ok 12516 object-curly-spacing valid import {
> x,
> } from 'foo';
> ok 12517 object-curly-spacing valid export {x,} from 'foo';
> ok 12518 object-curly-spacing valid export {
> x,
> } from 'foo';
> ok 12519 object-curly-spacing valid var foo = {};
> ok 12520 object-curly-spacing valid var obj = {'foo': {'bar': 1, 'baz': 2} };
> ok 12521 object-curly-spacing valid var {} = foo;
> ok 12522 object-curly-spacing valid var [] = foo;
> ok 12523 object-curly-spacing valid var {a: {}} = foo;
> ok 12524 object-curly-spacing valid var {a: []} = foo;
> ok 12525 object-curly-spacing valid import {} from 'foo';
> ok 12526 object-curly-spacing valid export {} from 'foo';
> ok 12527 object-curly-spacing valid export {};
> ok 12528 object-curly-spacing valid var {} = foo;
> ok 12529 object-curly-spacing valid var [] = foo;
> ok 12530 object-curly-spacing valid var {a: {}} = foo;
> ok 12531 object-curly-spacing valid var {a: []} = foo;
> ok 12532 object-curly-spacing valid import {} from 'foo';
> ok 12533 object-curly-spacing valid export {} from 'foo';
> ok 12534 object-curly-spacing valid export {};
> ok 12535 object-curly-spacing valid function foo ({a, b}: Props) {
> }
> ok 12536 object-curly-spacing invalid import {bar} from 'foo.js';
> ok 12537 object-curly-spacing invalid import { bar as y} from 'foo.js';
> ok 12538 object-curly-spacing invalid import {bar as y} from 'foo.js';
> ok 12539 object-curly-spacing invalid import { bar} from 'foo.js';
> ok 12540 object-curly-spacing invalid import x, { bar} from 'foo';
> ok 12541 object-curly-spacing invalid import x, { bar, baz} from 'foo';
> ok 12542 object-curly-spacing invalid import x, {bar} from 'foo';
> ok 12543 object-curly-spacing invalid import x, {bar, baz} from 'foo';
> ok 12544 object-curly-spacing invalid import {bar,} from 'foo';
> ok 12545 object-curly-spacing invalid import { bar, } from 'foo';
> ok 12546 object-curly-spacing invalid var bar = 0;
> export {bar};
> ok 12547 object-curly-spacing invalid var obj = { 'foo': [ 1, 2 ] };
> ok 12548 object-curly-spacing invalid var obj = { 'foo': [ 1, 2 ] , 'bar': [ 'baz', 'qux' ] };
> ok 12549 object-curly-spacing invalid var obj = { 'foo': { 'bar': 1, 'baz': 2 } };
> ok 12550 object-curly-spacing invalid var obj = { 'foo': [ 1, 2 ] , 'bar': { 'baz': 1, 'qux': 2 } };
> ok 12551 object-curly-spacing invalid var { a,} = x;
> ok 12552 object-curly-spacing invalid var {a, } = x;
> ok 12553 object-curly-spacing invalid var {a:b } = x;
> ok 12554 object-curly-spacing invalid var { a:b } = x;
> ok 12555 object-curly-spacing invalid var obj = {'foo': {'bar': 1, 'baz': 2}};
> ok 12556 object-curly-spacing invalid var obj = {'foo': [1, 2] , 'bar': {'baz': 1, 'qux': 2}};
> ok 12557 object-curly-spacing invalid var obj = {foo: bar, baz: qux};
> ok 12558 object-curly-spacing invalid var obj = {foo: bar, baz: qux };
> ok 12559 object-curly-spacing invalid var obj = { foo: bar, baz: qux};
> ok 12560 object-curly-spacing invalid var obj = { foo: bar, baz: qux };
> ok 12561 object-curly-spacing invalid var obj = {foo: bar, baz: qux };
> ok 12562 object-curly-spacing invalid var obj = { foo: bar, baz: qux};
> ok 12563 object-curly-spacing invalid var obj = { foo: { bar: quxx}, baz: qux};
> ok 12564 object-curly-spacing invalid var obj = {foo: {bar: quxx }, baz: qux };
> ok 12565 object-curly-spacing invalid export const thing = {value: 1 };
> ok 12566 object-curly-spacing invalid var {x, y} = y
> ok 12567 object-curly-spacing invalid var { x, y} = y
> ok 12568 object-curly-spacing invalid var { x, y } = y
> ok 12569 object-curly-spacing invalid var {x, y } = y
> ok 12570 object-curly-spacing invalid var { x=10} = y
> ok 12571 object-curly-spacing invalid var {x=10 } = y
> ok 12572 object-curly-spacing invalid var obj = {'foo': [1, 2]};
> ok 12573 object-curly-spacing invalid var obj = {'foo': [1, 2] , 'bar': ['baz', 'qux']};
> ok 12574 object-curly-spacing invalid function foo ({a, b }: Props) {
> }
> ok 12575 object-property-newline valid var obj = {
> k1: 'val1',
> k2: 'val2',
> k3: 'val3',
> k4: 'val4'
> };
> ok 12576 object-property-newline valid var obj = {
> k1: 'val1'
> , k2: 'val2'
> , k3: 'val3'
> , k4: 'val4'
> };
> ok 12577 object-property-newline valid var obj = { k1: 'val1',
> k2: 'val2',
> k3: 'val3',
> k4: 'val4' };
> ok 12578 object-property-newline valid var obj = { k1: 'val1'
> , k2: 'val2'
> , k3: 'val3'
> , k4: 'val4' };
> ok 12579 object-property-newline valid var obj = { k1: 'val1' };
> ok 12580 object-property-newline valid var obj = {
> k1: 'val1'
> };
> ok 12581 object-property-newline valid var obj = {};
> ok 12582 object-property-newline valid var obj = {
> [bar]: 'baz',
> baz
> };
> ok 12583 object-property-newline valid var obj = {
> k1: 'val1',
> k2: 'val2',
> ...{}
> };
> ok 12584 object-property-newline valid var obj = { k1: 'val1',
> k2: 'val2',
> ...{} };
> ok 12585 object-property-newline valid var obj = { ...{} };
> ok 12586 object-property-newline valid foo({ k1: 'val1',
> k2: 'val2' });
> ok 12587 object-property-newline valid foo({
> k1: 'val1',
> k2: 'val2'
> });
> ok 12588 object-property-newline valid foo({
> a,
> b
> });
> ok 12589 object-property-newline valid foo({
> a,
> b,
> });
> ok 12590 object-property-newline valid foo({
> bar() {},
> baz
> });
> ok 12591 object-property-newline valid foo({
> [bar]: 'baz',
> baz 
> })
> ok 12592 object-property-newline valid foo({
> k1: 'val1',
> k2: 'val2',
> ...{}
> });
> ok 12593 object-property-newline valid foo({ k1: 'val1',
> k2: 'val2',
> ...{} });
> ok 12594 object-property-newline valid foo({ ...{} });
> ok 12595 object-property-newline valid var obj = { k1: 'val1', k2: 'val2', k3: 'val3' };
> ok 12596 object-property-newline valid var obj = {
> k1: 'val1', k2: 'val2', k3: 'val3'
> };
> ok 12597 object-property-newline valid var obj = { k1: 'val1' };
> ok 12598 object-property-newline valid var obj = {
> k1: 'val1'
> };
> ok 12599 object-property-newline valid var obj = {};
> ok 12600 object-property-newline valid var obj = { 'k1': 'val1', k2: 'val2', ...{} };
> ok 12601 object-property-newline valid var obj = {
> 'k1': 'val1', k2: 'val2', ...{}
> };
> ok 12602 object-property-newline valid foo({ k1: 'val1', k2: 'val2' });
> ok 12603 object-property-newline valid foo({
> k1: 'val1', k2: 'val2'
> });
> ok 12604 object-property-newline valid foo({ a, b });
> ok 12605 object-property-newline valid foo({ bar() {}, baz });
> ok 12606 object-property-newline valid foo({ [bar]: 'baz', baz })
> ok 12607 object-property-newline valid foo({ 'k1': 'val1', k2: 'val2', ...{} });
> ok 12608 object-property-newline valid foo({
> 'k1': 'val1', k2: 'val2', ...{}
> });
> ok 12609 object-property-newline valid var obj = {k1: ['foo', 'bar'], k2: 'val1', k3: 'val2'};
> ok 12610 object-property-newline valid var obj = {
> k1: ['foo', 'bar'], k2: 'val1', k3: 'val2'
> };
> ok 12611 object-property-newline valid var obj = {
> k1: 'val1', k2: {e1: 'foo', e2: 'bar'}, k3: 'val2'
> };
> ok 12612 object-property-newline valid var obj = { k1: 'val1', k2: 'val2', k3: 'val3' };
> ok 12613 object-property-newline invalid var obj = { k1: 'val1', k2: 'val2', k3: 'val3' };
> ok 12614 object-property-newline invalid var obj = {
> k1: 'val1', k2: 'val2'
> };
> ok 12615 object-property-newline invalid var obj = {
> k1: 'val1', k2: 'val2',
> k3: 'val3', k4: 'val4'
> };
> ok 12616 object-property-newline invalid var obj = {k1: ['foo', 'bar'], k2: 'val1'};
> ok 12617 object-property-newline invalid var obj = {k1: [
> 'foo', 'bar'
> ], k2: 'val1'};
> ok 12618 object-property-newline invalid var obj = {
> k1: 'val1', k2: {e1: 'foo', e2: 'bar'}, k3: 'val2'
> };
> ok 12619 object-property-newline invalid var obj = {
> k1: 'val1',
> k2: {e1: 'foo', e2: 'bar'},
> k3: 'val2'
> };
> ok 12620 object-property-newline invalid var obj = { k1: 'val1',
> k2: [
> 'val2a', 'val2b', 'val2c'
> ], k3: 'val3' };
> ok 12621 object-property-newline invalid var obj = { k1: 'val1', [
> k2]: 'val2' };
> ok 12622 object-property-newline invalid var obj = { k1: 'val1', ...{} };
> ok 12623 object-property-newline invalid var obj = {
> k1: 'val1', ...{}
> };
> ok 12624 object-property-newline invalid foo({ k1: 'val1', k2: 'val2' });
> ok 12625 object-property-newline invalid foo({
> k1: 'val1', k2: 'val2'
> });
> ok 12626 object-property-newline invalid foo({ a, b });
> ok 12627 object-property-newline invalid foo({
> a, b
> });
> ok 12628 object-property-newline invalid foo({
> bar() {}, baz
> });
> ok 12629 object-property-newline invalid foo({
> [bar]: 'baz', baz
> })
> ok 12630 object-property-newline invalid foo({ k1: 'val1', [
> k2]: 'val2' })
> ok 12631 object-property-newline invalid foo({ k1: 'val1', ...{} })
> ok 12632 object-property-newline invalid foo({
> k1: 'val1', ...{}
> })
> ok 12633 object-property-newline invalid var obj = {
> a: {
> b: 1,
> c: 2
> }, d: 2
> };
> ok 12634 object-property-newline invalid ({ foo: 1 /* comment */, bar: 2 })
> ok 12635 object-property-newline invalid ({ foo: 1, /* comment */ bar: 2 })
> ok 12636 object-property-newline invalid var obj = {
> k1: 'val1',
> k2: 'val2', k3: 'val3'
> };
> ok 12637 object-property-newline invalid var obj = {
> k1:
> 'val1', k2: 'val2', k3:
> 'val3'
> };
> ok 12638 object-property-newline invalid var obj = {k1: [
> 'foo',
> 'bar'
> ], k2: 'val1'};
> ok 12639 object-property-newline invalid var obj = {k1: [
> 'foo', 'bar'
> ], k2: 'val1'};
> ok 12640 object-property-newline invalid var obj = {
> k1: 'val1', k2: {
> e1: 'foo', e2: 'bar'
> }, k3: 'val2'
> };
> ok 12641 object-property-newline invalid var obj = { k1: 'val1',
> k2: [
> 'val2a', 'val2b', 'val2c'
> ], k3: 'val3' };
> ok 12642 object-property-newline invalid var obj = { [
> k1]: 'val1', k2: 'val2' };
> ok 12643 object-property-newline invalid var obj = {
> k1: 'val1',
> k2: 'val2', ...{}
> };
> ok 12644 object-property-newline invalid var obj = {
> ...{},
> k1: 'val1', k2: 'val2'
> };
> ok 12645 object-property-newline invalid foo({ [
> k1]: 'val1', k2: 'val2' })
> ok 12646 object-property-newline invalid foo({
> k1: 'val1',
> k2: 'val2', ...{}
> })
> ok 12647 object-property-newline invalid foo({
> ...{},
> k1: 'val1', k2: 'val2'
> })
> ok 12648 object-property-newline invalid var obj = {
> k1: 'val1',
> k2: 'val2', k3: 'val3'
> };
> ok 12649 object-shorthand valid var x = {y() {}}
> ok 12650 object-shorthand valid var x = {y}
> ok 12651 object-shorthand valid var x = {a: b}
> ok 12652 object-shorthand valid var x = {a: 'a'}
> ok 12653 object-shorthand valid var x = {'a': 'a'}
> ok 12654 object-shorthand valid var x = {'a': b}
> ok 12655 object-shorthand valid var x = {y(x) {}}
> ok 12656 object-shorthand valid var {x,y,z} = x
> ok 12657 object-shorthand valid var {x: {y}} = z
> ok 12658 object-shorthand valid var x = {*x() {}}
> ok 12659 object-shorthand valid var x = {x: y}
> ok 12660 object-shorthand valid var x = {x: y, y: z}
> ok 12661 object-shorthand valid var x = {x: y, y: z, z: 'z'}
> ok 12662 object-shorthand valid var x = {x() {}, y: z, l(){}}
> ok 12663 object-shorthand valid var x = {x: y, y: z, a: b}
> ok 12664 object-shorthand valid var x = {x: y, y: z, 'a': b}
> ok 12665 object-shorthand valid var x = {x: y, y() {}, z: a}
> ok 12666 object-shorthand valid var x = {[y]: y}
> ok 12667 object-shorthand valid doSomething({x: y})
> ok 12668 object-shorthand valid doSomething({'x': y})
> ok 12669 object-shorthand valid doSomething({x: 'x'})
> ok 12670 object-shorthand valid doSomething({'x': 'x'})
> ok 12671 object-shorthand valid doSomething({y() {}})
> ok 12672 object-shorthand valid doSomething({x: y, y() {}})
> ok 12673 object-shorthand valid doSomething({y() {}, z: a})
> ok 12674 object-shorthand valid !{ a: function a(){} };
> ok 12675 object-shorthand valid var x = {y: (x)=>x}
> ok 12676 object-shorthand valid doSomething({y: (x)=>x})
> ok 12677 object-shorthand valid var x = {y: (x)=>x, y: a}
> ok 12678 object-shorthand valid doSomething({x, y: (x)=>x})
> ok 12679 object-shorthand valid ({ foo: x => { return; }})
> ok 12680 object-shorthand valid ({ foo: (x) => { return; }})
> ok 12681 object-shorthand valid ({ foo: () => { return; }})
> ok 12682 object-shorthand valid var x = {get y() {}}
> ok 12683 object-shorthand valid var x = {set y(z) {}}
> ok 12684 object-shorthand valid var x = {get y() {}, set y(z) {}}
> ok 12685 object-shorthand valid doSomething({get y() {}})
> ok 12686 object-shorthand valid doSomething({set y(z) {}})
> ok 12687 object-shorthand valid doSomething({get y() {}, set y(z) {}})
> ok 12688 object-shorthand valid var x = {[y]: y}
> ok 12689 object-shorthand valid var x = {['y']: 'y'}
> ok 12690 object-shorthand valid var x = {['y']: y}
> ok 12691 object-shorthand valid var x = {[y]() {}}
> ok 12692 object-shorthand valid var x = {[y]: function x() {}}
> ok 12693 object-shorthand valid var x = {[y]: y}
> ok 12694 object-shorthand valid var x = {y() {}}
> ok 12695 object-shorthand valid var x = {x, y() {}, a:b}
> ok 12696 object-shorthand valid var x = {y}
> ok 12697 object-shorthand valid var x = {y: {b}}
> ok 12698 object-shorthand valid var x = {a: n, c: d, f: g}
> ok 12699 object-shorthand valid var x = {a: function(){}, b: {c: d}}
> ok 12700 object-shorthand valid var x = {ConstructorFunction: function(){}, a: b}
> ok 12701 object-shorthand valid var x = {notConstructorFunction(){}, b: c}
> ok 12702 object-shorthand valid var x = {ConstructorFunction: function(){}, a: b}
> ok 12703 object-shorthand valid var x = {notConstructorFunction(){}, b: c}
> ok 12704 object-shorthand valid var x = {ConstructorFunction: function(){}, a: b}
> ok 12705 object-shorthand valid var x = {notConstructorFunction: function(){}, b: c}
> ok 12706 object-shorthand valid var x = {'a': function(){}}
> ok 12707 object-shorthand valid var x = {['a']: function(){}}
> ok 12708 object-shorthand valid var x = {'y': y}
> ok 12709 object-shorthand valid let {a, b} = o;
> ok 12710 object-shorthand valid var x = {foo: foo, bar: bar, ...baz}
> ok 12711 object-shorthand valid var x = {a: a, b: b}
> ok 12712 object-shorthand valid var x = {a: b, c: d, f: g}
> ok 12713 object-shorthand valid var x = {a, b}
> ok 12714 object-shorthand valid var x = {a, b, get test() { return 1; }}
> ok 12715 object-shorthand valid var x = {...bar}
> ok 12716 object-shorthand valid var x = {foo, bar, ...baz}
> ok 12717 object-shorthand valid var x = {bar: baz, ...qux}
> ok 12718 object-shorthand valid var x = {...foo, bar: bar, baz: baz}
> ok 12719 object-shorthand valid var x = {a, b}
> ok 12720 object-shorthand valid var x = {a, b, get test(){return 1;}}
> ok 12721 object-shorthand valid var x = {0: 'foo'}
> ok 12722 object-shorthand valid var x = {'key': 'baz'}
> ok 12723 object-shorthand valid var x = {foo: 'foo'}
> ok 12724 object-shorthand valid var x = {[foo]: foo}
> ok 12725 object-shorthand valid var x = {foo: function foo() {}}
> ok 12726 object-shorthand valid var x = {[foo]: 'foo'}
> ok 12727 object-shorthand valid var x = {bar, ...baz}
> ok 12728 object-shorthand valid var x = {bar: baz, ...qux}
> ok 12729 object-shorthand valid var x = {...foo, bar, baz}
> ok 12730 object-shorthand valid ({ x: () => foo })
> ok 12731 object-shorthand valid ({ x: () => { return; } })
> ok 12732 object-shorthand valid ({ x: () => foo })
> ok 12733 object-shorthand valid ({ x() { return; } })
> ok 12734 object-shorthand valid ({ x() { return; }, y() { return; } })
> ok 12735 object-shorthand valid ({ x() { return; }, y: () => foo })
> ok 12736 object-shorthand valid ({ x: () => foo, y() { return; } })
> ok 12737 object-shorthand valid ({ x: () => { this; } })
> ok 12738 object-shorthand valid function foo() { ({ x: () => { arguments; } }) }
> ok 12739 object-shorthand valid 
>                 class Foo extends Bar {
>                   constructor() {
>                       var foo = { x: () => { super(); } };
>                   }
>               }
>             
> ok 12740 object-shorthand valid 
>                 class Foo extends Bar {
>                     baz() {
>                         var foo = { x: () => { super.baz(); } };
>                     }
>                 }
>             
> ok 12741 object-shorthand valid 
>                 function foo() {
>                     var x = { x: () => { new.target; } };
>                 }
>             
> ok 12742 object-shorthand valid 
>                 function foo() {
>                     var x = {
>                         x: () => {
>                             var y = () => { this; };
>                         }
>                     };
>                 }
>             
> ok 12743 object-shorthand valid 
>                 function foo() {
>                     var x = {
>                         x: () => {
>                             var y = () => { this; };
>                             function foo() { this; }
>                         }
>                     };
>                 }
>             
> ok 12744 object-shorthand valid 
>                 function foo() {
>                     var x = {
>                         x: () => {
>                             return { y: () => { this; } };
>                         }
>                     };
>                 }
>             
> ok 12745 object-shorthand valid ({ [foo.bar]: () => {} })
> ok 12746 object-shorthand invalid var x = {x: x}
> ok 12747 object-shorthand invalid var x = {'x': x}
> ok 12748 object-shorthand invalid var x = {y: y, x: x}
> ok 12749 object-shorthand invalid var x = {y: z, x: x, a: b}
> ok 12750 object-shorthand invalid var x = {y: z,
>  x: x,
>  a: b
>  // comment 
> }
> ok 12751 object-shorthand invalid var x = {y: z,
>  a: b,
>  // comment 
> f: function() {}}
> ok 12752 object-shorthand invalid var x = {a: b,
> /* comment */
> y: y
>  }
> ok 12753 object-shorthand invalid var x = {
>   a: b,
>   /* comment */
>   y: y
> }
> ok 12754 object-shorthand invalid var x = {
>   f: function() {
>     /* comment */
>     a(b);
>     }
>   }
> ok 12755 object-shorthand invalid var x = {
>   [f]: function() {
>     /* comment */
>     a(b);
>     }
>   }
> ok 12756 object-shorthand invalid var x = {
>   f: function*() {
>     /* comment */
>     a(b);
>     }
>   }
> ok 12757 object-shorthand invalid var x = {
>   f: /* comment */ function() {
>   }
>   }
> ok 12758 object-shorthand invalid var x = {
>  f /* comment */: function() {
>   }
>   }
> ok 12759 object-shorthand invalid var x = {y: function() {}}
> ok 12760 object-shorthand invalid var x = {y: function*() {}}
> ok 12761 object-shorthand invalid var x = {x: y, y: z, a: a}
> ok 12762 object-shorthand invalid var x = {ConstructorFunction: function(){}, a: b}
> ok 12763 object-shorthand invalid var x = {x: y, y: z, a: function(){}, b() {}}
> ok 12764 object-shorthand invalid var x = {x: x, y: function() {}}
> ok 12765 object-shorthand invalid doSomething({x: x})
> ok 12766 object-shorthand invalid doSomething({'x': x})
> ok 12767 object-shorthand invalid doSomething({a: 'a', 'x': x})
> ok 12768 object-shorthand invalid doSomething({y: function() {}})
> ok 12769 object-shorthand invalid doSomething({[y]: function() {}})
> ok 12770 object-shorthand invalid doSomething({['y']: function() {}})
> ok 12771 object-shorthand invalid ({ foo: async function () {} })
> ok 12772 object-shorthand invalid ({ 'foo': async function() {} })
> ok 12773 object-shorthand invalid ({ [foo]: async function() {} })
> ok 12774 object-shorthand invalid ({ [foo.bar]: function*() {} })
> ok 12775 object-shorthand invalid ({ [foo   ]: function() {} })
> ok 12776 object-shorthand invalid ({ [ foo ]: async function() {} })
> ok 12777 object-shorthand invalid ({ foo: function *() {} })
> ok 12778 object-shorthand invalid ({ [  foo   ]: function() {} })
> ok 12779 object-shorthand invalid ({ [  foo]: function() {} })
> ok 12780 object-shorthand invalid var x = {y: function() {}}
> ok 12781 object-shorthand invalid var x = {x, y() {}, z: function() {}}
> ok 12782 object-shorthand invalid var x = {ConstructorFunction: function(){}, a: b}
> ok 12783 object-shorthand invalid var x = {[y]: function() {}}
> ok 12784 object-shorthand invalid ({ [(foo)]: function() { return; } })
> ok 12785 object-shorthand invalid ({ [(foo)]: async function() { return; } })
> ok 12786 object-shorthand invalid ({ [(((((((foo)))))))]: function() { return; } })
> ok 12787 object-shorthand invalid ({ [(foo)]() { return; } })
> ok 12788 object-shorthand invalid ({ async [(foo)]() { return; } })
> ok 12789 object-shorthand invalid ({ *[((foo))]() { return; } })
> ok 12790 object-shorthand invalid ({ [(((((((foo)))))))]() { return; } })
> ok 12791 object-shorthand invalid ({ 'foo bar'() { return; } })
> ok 12792 object-shorthand invalid ({ *foo() { return; } })
> ok 12793 object-shorthand invalid ({ async foo() { return; } })
> ok 12794 object-shorthand invalid ({ *['foo bar']() { return; } })
> ok 12795 object-shorthand invalid var x = {x: x}
> ok 12796 object-shorthand invalid var x = {a, b, c(){}, x: x}
> ok 12797 object-shorthand invalid var x = {y() {}}
> ok 12798 object-shorthand invalid var x = {*y() {}}
> ok 12799 object-shorthand invalid var x = {y}
> ok 12800 object-shorthand invalid var x = {y, a: b, *x(){}}
> ok 12801 object-shorthand invalid var x = {y: {x}}
> ok 12802 object-shorthand invalid var x = {ConstructorFunction(){}, a: b}
> ok 12803 object-shorthand invalid var x = {notConstructorFunction(){}, b: c}
> ok 12804 object-shorthand invalid var x = {foo: foo, bar: baz, ...qux}
> ok 12805 object-shorthand invalid var x = {foo, bar: baz, ...qux}
> ok 12806 object-shorthand invalid var x = {a: a}
> ok 12807 object-shorthand invalid var x = {a: function(){}}
> ok 12808 object-shorthand invalid var x = {[a]: function(){}}
> ok 12809 object-shorthand invalid var x = {'a'(){}}
> ok 12810 object-shorthand invalid var x = {['a'](){}}
> ok 12811 object-shorthand invalid var x = {a: a, b}
> ok 12812 object-shorthand invalid var x = {b, c: d, f: g}
> ok 12813 object-shorthand invalid var x = {foo, bar: baz, ...qux}
> ok 12814 object-shorthand invalid var x = {a: a, b: b}
> ok 12815 object-shorthand invalid var x = {a, z: function z(){}}
> ok 12816 object-shorthand invalid var x = {foo: function() {}}
> ok 12817 object-shorthand invalid var x = {a: a, b: b, ...baz}
> ok 12818 object-shorthand invalid var x = {foo, bar: bar, ...qux}
> ok 12819 object-shorthand invalid ({ x: () => { return; } })
> ok 12820 object-shorthand invalid ({ x() { return; }, y: () => { return; } })
> ok 12821 object-shorthand invalid ({ x: () => { return; }, y: () => foo })
> ok 12822 object-shorthand invalid ({ x: () => { return; }, y: () => { return; } })
> ok 12823 object-shorthand invalid ({ x: foo => { return; } })
> ok 12824 object-shorthand invalid ({ x: (foo = 1) => { return; } })
> ok 12825 object-shorthand invalid ({ x: ({ foo: bar = 1 } = {}) => { return; } })
> ok 12826 object-shorthand invalid ({ x: () => { function foo() { this; } } })
> ok 12827 object-shorthand invalid ({ x: () => { var foo = function() { arguments; } } })
> ok 12828 object-shorthand invalid ({ x: () => { function foo() { arguments; } } })
> ok 12829 object-shorthand invalid 
>                 ({
>                     x: () => {
>                         class Foo extends Bar {
>                             constructor() {
>                                 super();
>                             }
>                         }
>                     }
>                 })
>             
> ok 12830 object-shorthand invalid 
>                 ({
>                     x: () => {
>                         function foo() {
>                             new.target;
>                         }
>                     }
>                 })
>             
> ok 12831 object-shorthand invalid ({ 'foo bar': () => { return; } })
> ok 12832 object-shorthand invalid ({ [foo]: () => { return; } })
> ok 12833 object-shorthand invalid ({ a: 1, foo: async (bar = 1) => { return; } })
> ok 12834 object-shorthand invalid ({ [ foo ]: async bar => { return; } })
> ok 12835 object-shorthand invalid ({ key: (arg = () => {}) => {} })
> ok 12836 object-shorthand invalid 
>                 function foo() {
>                     var x = {
>                         x: () => {
>                             this;
>                             return { y: () => { foo; } };
>                         }
>                     };
>                 }
>             
> ok 12837 object-shorthand invalid 
>                 function foo() {
>                     var x = {
>                         x: () => {
>                             ({ y: () => { foo; } });
>                             this;
>                         }
>                     };
>                 }
>             
> ok 12838 object-shorthand invalid ({ a: (function(){ return foo; }) })
> ok 12839 object-shorthand invalid ({ a: (() => { return foo; }) })
> ok 12840 object-shorthand invalid ({ a: async function*() {} })
> ok 12841 object-shorthand invalid ({ async* a() {} })
> ok 12842 one-var-declaration-per-line valid var a, b, c,
> d = 0;
> ok 12843 one-var-declaration-per-line valid var a, b, c,
> 
> d = 0;
> ok 12844 one-var-declaration-per-line valid var a, b,
> c=0
> d = 0;
> ok 12845 one-var-declaration-per-line valid let a, b;
> ok 12846 one-var-declaration-per-line valid var a = 0; var b = 0;
> ok 12847 one-var-declaration-per-line valid var a, b,
> c=0
> d = 0;
> ok 12848 one-var-declaration-per-line valid var a,
> b,
> c,
> d = 0;
> ok 12849 one-var-declaration-per-line valid var a = 0,
> b;
> ok 12850 one-var-declaration-per-line valid var a = 0,
> 
> b;
> ok 12851 one-var-declaration-per-line valid var a; var b;
> ok 12852 one-var-declaration-per-line valid for(var a = 0, b = 0;;){}
> ok 12853 one-var-declaration-per-line valid for(let a = 0, b = 0;;){}
> ok 12854 one-var-declaration-per-line valid for(const a = 0, b = 0;;){}
> ok 12855 one-var-declaration-per-line valid for(var a in obj){}
> ok 12856 one-var-declaration-per-line valid for(let a in obj){}
> ok 12857 one-var-declaration-per-line valid for(const a in obj){}
> ok 12858 one-var-declaration-per-line valid for(var a of arr){}
> ok 12859 one-var-declaration-per-line valid for(let a of arr){}
> ok 12860 one-var-declaration-per-line valid for(const a of arr){}
> ok 12861 one-var-declaration-per-line valid export let a, b;
> ok 12862 one-var-declaration-per-line valid export let a,
>  b = 0;
> ok 12863 one-var-declaration-per-line invalid var a, b;
> ok 12864 one-var-declaration-per-line invalid let a, b;
> ok 12865 one-var-declaration-per-line invalid var a, b = 0;
> ok 12866 one-var-declaration-per-line invalid var a = {
>  foo: bar
> }, b;
> ok 12867 one-var-declaration-per-line invalid var a
> =0, b;
> ok 12868 one-var-declaration-per-line invalid let a, b = 0;
> ok 12869 one-var-declaration-per-line invalid const a = 0, b = 0;
> ok 12870 one-var-declaration-per-line invalid var a, b, c = 0;
> ok 12871 one-var-declaration-per-line invalid var a, b,
> c = 0, d;
> ok 12872 one-var-declaration-per-line invalid var a, b,
> c = 0, d = 0;
> ok 12873 one-var-declaration-per-line invalid var a
> =0, b = 0;
> ok 12874 one-var-declaration-per-line invalid var a = {
>  foo: bar
> }, b;
> ok 12875 one-var-declaration-per-line invalid for(var a = 0, b = 0;;){
> var c,d;}
> ok 12876 one-var-declaration-per-line invalid export let a, b;
> ok 12877 one-var-declaration-per-line invalid export let a, b = 0;
> ok 12878 one-var valid function foo() { var bar = true; }
> ok 12879 one-var valid function foo() { var bar = true, baz = 1; if (qux) { bar = false; } }
> ok 12880 one-var valid var foo = function() { var bar = true; baz(); }
> ok 12881 one-var valid function foo() { var bar = true, baz = false; }
> ok 12882 one-var valid function foo() { var bar = true; var baz = false; }
> ok 12883 one-var valid for (var i = 0, len = arr.length; i < len; i++) {}
> ok 12884 one-var valid var bar = true; var baz = false;
> ok 12885 one-var valid var bar = true, baz = false;
> ok 12886 one-var valid var bar, baz;
> ok 12887 one-var valid var bar; var baz;
> ok 12888 one-var valid var bar, baz;
> ok 12889 one-var valid var bar = true, baz = false;
> ok 12890 one-var valid var bar = true, baz = false, a, b;
> ok 12891 one-var valid var bar = true; var baz = false; var a; var b;
> ok 12892 one-var valid var bar, baz; var a = true; var b = false;
> ok 12893 one-var valid var bar = true, baz = false; var a; var b;
> ok 12894 one-var valid var bar; var baz; var a = true, b = false;
> ok 12895 one-var valid function foo() { var a = [1, 2, 3]; var [b, c, d] = a; }
> ok 12896 one-var valid function foo() { let a = 1; var c = true; if (a) {let c = true; } }
> ok 12897 one-var valid function foo() { const a = 1; var c = true; if (a) {const c = true; } }
> ok 12898 one-var valid function foo() { if (true) { const a = 1; }; if (true) {const a = true; } }
> ok 12899 one-var valid function foo() { let a = 1; let b = true; }
> ok 12900 one-var valid function foo() { const a = 1; const b = true; }
> ok 12901 one-var valid function foo() { let a = 1; const b = false; var c = true; }
> ok 12902 one-var valid function foo() { let a = 1, b = false; var c = true; }
> ok 12903 one-var valid function foo() { let a = 1; let b = 2; const c = false; const d = true; var e = true, f = false; }
> ok 12904 one-var valid let foo = true; for (let i = 0; i < 1; i++) { let foo = false; }
> ok 12905 one-var valid let foo = true; for (let i = 0; i < 1; i++) { let foo = false; }
> ok 12906 one-var valid let foo = true, bar = false;
> ok 12907 one-var valid let foo = true, bar = false;
> ok 12908 one-var valid let foo = true, bar = false;
> ok 12909 one-var valid let foo, bar
> ok 12910 one-var valid let foo = true, bar = false; let a; let b;
> ok 12911 one-var valid let foo, bar; let a = true; let b = true;
> ok 12912 one-var valid var foo, bar; const a=1; const b=2; let c, d
> ok 12913 one-var valid var foo; var bar; const a=1, b=2; let c; let d
> ok 12914 one-var valid for (let x of foo) {}; for (let y of foo) {}
> ok 12915 one-var valid for (let x in foo) {}; for (let y in foo) {}
> ok 12916 one-var valid var x; for (var y in foo) {}
> ok 12917 one-var valid var x, y; for (y in foo) {}
> ok 12918 one-var valid var x, y; for (var z in foo) {}
> ok 12919 one-var valid var x; for (var y in foo) {var bar = y; for (var z in bar) {}}
> ok 12920 one-var valid var a = 1; var b = 2; var x, y; for (var z in foo) {var baz = z; for (var d in baz) {}}
> ok 12921 one-var valid var x; for (var y of foo) {}
> ok 12922 one-var valid var x, y; for (y of foo) {}
> ok 12923 one-var valid var x, y; for (var z of foo) {}
> ok 12924 one-var valid var x; for (var y of foo) {var bar = y; for (var z of bar) {}}
> ok 12925 one-var valid var a = 1; var b = 2; var x, y; for (var z of foo) {var baz = z; for (var d of baz) {}}
> ok 12926 one-var valid var foo = require('foo'), bar;
> ok 12927 one-var valid var foo = require('foo'), bar = require('bar');
> ok 12928 one-var valid var bar = 'bar'; var foo = require('foo');
> ok 12929 one-var valid var foo = require('foo'); var bar = 'bar';
> ok 12930 one-var valid var foo = require('foo'); var bar = 'bar';
> ok 12931 one-var valid var a = 0, b, c;
> ok 12932 one-var valid var a = 0, b = 1, c = 2;
> ok 12933 one-var valid var a = 0, b = 1; foo(); var c = 2;
> ok 12934 one-var valid let a = 0, b, c;
> ok 12935 one-var valid let a = 0, b = 1, c = 2;
> ok 12936 one-var valid let a = 0, b = 1; foo(); let c = 2;
> ok 12937 one-var valid const a = 0, b = 1; foo(); const c = 2;
> ok 12938 one-var valid const a = 0; var b = 1;
> ok 12939 one-var valid const a = 0; let b = 1;
> ok 12940 one-var valid let a = 0; const b = 1; var c = 2;
> ok 12941 one-var valid const foo = require('foo'); const bar = 'bar';
> ok 12942 one-var valid var a = 0, b = 1; var c, d;
> ok 12943 one-var valid var a = 0; var b, c; var d = 1;
> ok 12944 one-var valid let a = 0, b = 1; let c, d;
> ok 12945 one-var valid let a = 0; let b, c; let d = 1;
> ok 12946 one-var valid const a = 0, b = 1; let c, d;
> ok 12947 one-var valid const a = 0; let b, c; const d = 1;
> ok 12948 one-var valid var a = 0, b = 1; var c; var d;
> ok 12949 one-var valid var a = 0; var b; var c; var d = 1;
> ok 12950 one-var valid let a = 0, b = 1; let c; let d;
> ok 12951 one-var valid let a = 0; let b; let c; let d = 1;
> ok 12952 one-var valid const a = 0, b = 1; let c; let d;
> ok 12953 one-var valid const a = 0; let b; let c; const d = 1;
> ok 12954 one-var valid var a, b; var c = 0, d = 1;
> ok 12955 one-var valid var a; var b = 0, c = 1; var d;
> ok 12956 one-var valid let a, b; let c = 0, d = 1;
> ok 12957 one-var valid let a; let b = 0, c = 1; let d;
> ok 12958 one-var valid let a, b; const c = 0, d = 1;
> ok 12959 one-var valid let a; const b = 0, c = 1; let d;
> ok 12960 one-var valid var a, b; var c = 0; var d = 1;
> ok 12961 one-var valid var a; var b = 0; var c = 1; var d;
> ok 12962 one-var valid let a, b; let c = 0; let d = 1;
> ok 12963 one-var valid let a; let b = 0; let c = 1; let d;
> ok 12964 one-var valid let a, b; const c = 0; const d = 1;
> ok 12965 one-var valid let a; const b = 0; const c = 1; let d;
> ok 12966 one-var valid var a = 0, b = 1;
> ok 12967 one-var valid var a = 0; foo; var b = 1;
> ok 12968 one-var valid let a = 0, b = 1;
> ok 12969 one-var valid let a = 0; foo; let b = 1;
> ok 12970 one-var valid const a = 0, b = 1;
> ok 12971 one-var valid const a = 0; foo; const b = 1;
> ok 12972 one-var valid let a, b; const c = 0, d = 1;
> ok 12973 one-var valid let a; const b = 0, c = 1; let d;
> ok 12974 one-var valid let a, b; const c = 0; const d = 1;
> ok 12975 one-var valid let a; const b = 0; const c = 1; let d;
> ok 12976 one-var valid const a = 0, b = 1; let c, d;
> ok 12977 one-var valid const a = 0; let b, c; const d = 1;
> ok 12978 one-var valid const a = 0, b = 1; let c; let d;
> ok 12979 one-var valid const a = 0; let b; let c; const d = 1;
> ok 12980 one-var valid var a = 1, b = 2; foo(); var c = 3, d = 4;
> ok 12981 one-var valid var bar, baz;
> ok 12982 one-var valid var bar = 1, baz = 2; qux(); var qux = 3, quux;
> ok 12983 one-var valid let a, b; var c; var d; let e;
> ok 12984 one-var valid const a = 1, b = 2; var d; var e; const f = 3;
> ok 12985 one-var valid var a, b; const c = 1; const d = 2; let e; let f; 
> ok 12986 one-var valid var a = 1, b = 2; var c; var d; var e = 3, f = 4;
> ok 12987 one-var valid var a; somethingElse(); var b;
> ok 12988 one-var valid var foo = 1;
> let bar = function() { var x; };
> var baz = 2;
> ok 12989 one-var invalid function foo() { var bar = true, baz = false; }
> ok 12990 one-var invalid function foo() { var bar = true; var baz = false; }
> ok 12991 one-var invalid var a = 1; for (var b = 2;;) {}
> ok 12992 one-var invalid function foo() { var foo = true, bar = false; }
> ok 12993 one-var invalid function foo() { var foo, bar; }
> ok 12994 one-var invalid function foo() { var bar, baz; var a = true; var b = false; var c, d;}
> ok 12995 one-var invalid function foo() { var bar = true, baz = false; var a; var b; var c = true, d = false; }
> ok 12996 one-var invalid function foo() { var bar = true, baz = false; var a, b;}
> ok 12997 one-var invalid function foo() { var bar = true; var baz = false; var a; var b;}
> ok 12998 one-var invalid function foo() { var a = [1, 2, 3]; var [b, c, d] = a; }
> ok 12999 one-var invalid function foo() { let a = 1; let b = 2; }
> ok 13000 one-var invalid function foo() { const a = 1; const b = 2; }
> ok 13001 one-var invalid function foo() { let a = 1; let b = 2; }
> ok 13002 one-var invalid function foo() { const a = 1; const b = 2; }
> ok 13003 one-var invalid function foo() { let a = 1, b = 2; }
> ok 13004 one-var invalid function foo() { let a = 1, b = 2; }
> ok 13005 one-var invalid function foo() { let a, b; }
> ok 13006 one-var invalid function foo() { const a = 1, b = 2; }
> ok 13007 one-var invalid function foo() { const a = 1, b = 2; }
> ok 13008 one-var invalid let foo = true; switch(foo) { case true: let bar = 2; break; case false: let baz = 3; break; }
> ok 13009 one-var invalid var one = 1, two = 2;
> var three;
> ok 13010 one-var invalid var i = [0], j;
> ok 13011 one-var invalid var i = [0], j;
> ok 13012 one-var invalid for (var x of foo) {}; for (var y of foo) {}
> ok 13013 one-var invalid for (var x in foo) {}; for (var y in foo) {}
> ok 13014 one-var invalid var foo = function() { var bar = true; var baz = false; }
> ok 13015 one-var invalid function foo() { var bar = true; if (qux) { var baz = false; } else { var quxx = 42; } }
> ok 13016 one-var invalid var foo = () => { var bar = true; var baz = false; }
> ok 13017 one-var invalid var foo = function() { var bar = true; if (qux) { var baz = false; } }
> ok 13018 one-var invalid var foo; var bar;
> ok 13019 one-var invalid var x = 1, y = 2; for (var z in foo) {}
> ok 13020 one-var invalid var x = 1, y = 2; for (var z of foo) {}
> ok 13021 one-var invalid var x; var y; for (var z in foo) {}
> ok 13022 one-var invalid var x; var y; for (var z of foo) {}
> ok 13023 one-var invalid var x; for (var y in foo) {var bar = y; var a; for (var z of bar) {}}
> ok 13024 one-var invalid var a = 1; var b = 2; var x, y; for (var z of foo) {var c = 3, baz = z; for (var d in baz) {}}
> ok 13025 one-var invalid var {foo} = 1, [bar] = 2;
> ok 13026 one-var invalid const foo = 1,
>     bar = 2;
> ok 13027 one-var invalid var foo = 1,
>     bar = 2;
> ok 13028 one-var invalid var foo = 1, // comment
>     bar = 2;
> ok 13029 one-var invalid var f, k /* test */, l;
> ok 13030 one-var invalid var f,          /* test */ l;
> ok 13031 one-var invalid var f, k /* test 
>  some more comment 
>  even more */, l = 1, P;
> ok 13032 one-var invalid var a = 1, b = 2
> ok 13033 one-var invalid var foo = require('foo'), bar;
> ok 13034 one-var invalid var foo, bar = require('bar');
> ok 13035 one-var invalid let foo, bar = require('bar');
> ok 13036 one-var invalid const foo = 0, bar = require('bar');
> ok 13037 one-var invalid const foo = require('foo'); const bar = require('bar');
> ok 13038 one-var invalid var a = 1, b; var c;
> ok 13039 one-var invalid var a = 0, b = 1; var c = 2;
> ok 13040 one-var invalid let a = 1, b; let c;
> ok 13041 one-var invalid let a = 0, b = 1; let c = 2;
> ok 13042 one-var invalid const a = 0, b = 1; const c = 2;
> ok 13043 one-var invalid const a = 0; var b = 1; var c = 2; const d = 3;
> ok 13044 one-var invalid var a = true; var b = false;
> ok 13045 one-var invalid const a = 0; let b = 1; let c = 2; const d = 3;
> ok 13046 one-var invalid let a = 0; const b = 1; const c = 1; var d = 2;
> ok 13047 one-var invalid var a = 0; var b; var c; var d = 1
> ok 13048 one-var invalid var a = 0; var b = 1; var c; var d;
> ok 13049 one-var invalid let a = 0; let b; let c; let d = 1;
> ok 13050 one-var invalid let a = 0; let b = 1; let c; let d;
> ok 13051 one-var invalid const a = 0; let b; let c; const d = 1;
> ok 13052 one-var invalid const a = 0; const b = 1; let c; let d;
> ok 13053 one-var invalid var a = 0; var b = 1; var c, d;
> ok 13054 one-var invalid var a = 0; var b, c; var d = 1;
> ok 13055 one-var invalid let a = 0; let b = 1; let c, d;
> ok 13056 one-var invalid let a = 0; let b, c; let d = 1;
> ok 13057 one-var invalid const a = 0; const b = 1; let c, d;
> ok 13058 one-var invalid const a = 0; let b, c; const d = 1;
> ok 13059 one-var invalid var a; var b; var c = 0; var d = 1;
> ok 13060 one-var invalid var a; var b = 0; var c = 1; var d;
> ok 13061 one-var invalid let a; let b; let c = 0; let d = 1;
> ok 13062 one-var invalid let a; let b = 0; let c = 1; let d;
> ok 13063 one-var invalid let a; let b; const c = 0; const d = 1;
> ok 13064 one-var invalid let a; const b = 0; const c = 1; let d;
> ok 13065 one-var invalid var a; var b; var c = 0, d = 1;
> ok 13066 one-var invalid var a; var b = 0, c = 1; var d;
> ok 13067 one-var invalid let a; let b; let c = 0, d = 1;
> ok 13068 one-var invalid let a; let b = 0, c = 1; let d;
> ok 13069 one-var invalid let a; let b; const c = 0, d = 1;
> ok 13070 one-var invalid let a; const b = 0, c = 1; let d;
> ok 13071 one-var invalid var a = 0; var b = 1;
> ok 13072 one-var invalid let a = 0; let b = 1;
> ok 13073 one-var invalid const a = 0; const b = 1;
> ok 13074 one-var invalid let a; let b; const c = 0; const d = 1;
> ok 13075 one-var invalid let a; const b = 0; const c = 1; let d;
> ok 13076 one-var invalid let a; let b; const c = 0, d = 1;
> ok 13077 one-var invalid let a; const b = 0, c = 1; let d;
> ok 13078 one-var invalid const a = 0; const b = 1; let c; let d;
> ok 13079 one-var invalid const a = 0; let b; let c; const d = 1;
> ok 13080 one-var invalid const a = 0; const b = 1; let c, d;
> ok 13081 one-var invalid const a = 0; let b, c; const d = 1;
> ok 13082 one-var invalid var bar; var baz;
> ok 13083 one-var invalid var bar = 1; var baz = 2; qux(); var qux = 3; var quux;
> ok 13084 one-var invalid let a, b; let c; var d, e;
> ok 13085 one-var invalid var a; var b;
> ok 13086 one-var invalid var a = 1; var b = 2; var c, d; var e = 3; var f = 4;
> ok 13087 one-var invalid var a = 1; var b = 2; foo(); var c = 3; var d = 4;
> ok 13088 one-var invalid var a
> var b
> ok 13089 operator-assignment valid x = y
> ok 13090 operator-assignment valid x = y + x
> ok 13091 operator-assignment valid x += x + y
> ok 13092 operator-assignment valid x = (x + y) - z
> ok 13093 operator-assignment valid x -= y
> ok 13094 operator-assignment valid x = y - x
> ok 13095 operator-assignment valid x *= x
> ok 13096 operator-assignment valid x = y * z
> ok 13097 operator-assignment valid x = (x * y) * z
> ok 13098 operator-assignment valid x = y / x
> ok 13099 operator-assignment valid x /= y
> ok 13100 operator-assignment valid x %= y
> ok 13101 operator-assignment valid x <<= y
> ok 13102 operator-assignment valid x >>= x >> y
> ok 13103 operator-assignment valid x >>>= y
> ok 13104 operator-assignment valid x &= y
> ok 13105 operator-assignment valid x **= y
> ok 13106 operator-assignment valid x ^= y ^ z
> ok 13107 operator-assignment valid x |= x | y
> ok 13108 operator-assignment valid x = x && y
> ok 13109 operator-assignment valid x = x || y
> ok 13110 operator-assignment valid x = x < y
> ok 13111 operator-assignment valid x = x > y
> ok 13112 operator-assignment valid x = x <= y
> ok 13113 operator-assignment valid x = x >= y
> ok 13114 operator-assignment valid x = x instanceof y
> ok 13115 operator-assignment valid x = x in y
> ok 13116 operator-assignment valid x = x == y
> ok 13117 operator-assignment valid x = x != y
> ok 13118 operator-assignment valid x = x === y
> ok 13119 operator-assignment valid x = x !== y
> ok 13120 operator-assignment valid x[y] = x['y'] + z
> ok 13121 operator-assignment valid x.y = x['y'] / z
> ok 13122 operator-assignment valid x.y = z + x.y
> ok 13123 operator-assignment valid x[fn()] = x[fn()] + y
> ok 13124 operator-assignment valid x += x + y
> ok 13125 operator-assignment valid x = x + y
> ok 13126 operator-assignment valid x = x ** y
> ok 13127 operator-assignment valid x = y ** x
> ok 13128 operator-assignment valid x = x * y + z
> ok 13129 operator-assignment invalid x = x + y
> ok 13130 operator-assignment invalid x = x - y
> ok 13131 operator-assignment invalid x = x * y
> ok 13132 operator-assignment invalid x = y * x
> ok 13133 operator-assignment invalid x = (y * z) * x
> ok 13134 operator-assignment invalid x = x / y
> ok 13135 operator-assignment invalid x = x % y
> ok 13136 operator-assignment invalid x = x << y
> ok 13137 operator-assignment invalid x = x >> y
> ok 13138 operator-assignment invalid x = x >>> y
> ok 13139 operator-assignment invalid x = x & y
> ok 13140 operator-assignment invalid x = x ^ y
> ok 13141 operator-assignment invalid x = x | y
> ok 13142 operator-assignment invalid x[0] = x[0] - y
> ok 13143 operator-assignment invalid x.y[z['a']][0].b = x.y[z['a']][0].b * 2
> ok 13144 operator-assignment invalid x = x + y
> ok 13145 operator-assignment invalid x = (x + y)
> ok 13146 operator-assignment invalid x = x + (y)
> ok 13147 operator-assignment invalid x += (y)
> ok 13148 operator-assignment invalid x += y
> ok 13149 operator-assignment invalid foo.bar = foo.bar + baz
> ok 13150 operator-assignment invalid foo.bar += baz
> ok 13151 operator-assignment invalid foo.bar.baz = foo.bar.baz + qux
> ok 13152 operator-assignment invalid foo.bar.baz += qux
> ok 13153 operator-assignment invalid foo[bar] = foo[bar] + baz
> ok 13154 operator-assignment invalid foo[bar] >>>= baz
> ok 13155 operator-assignment invalid foo[5] = foo[5] / baz
> ok 13156 operator-assignment invalid (foo.bar) ^= ((((((((((((((((baz))))))))))))))))
> ok 13157 operator-assignment invalid foo = foo ** bar
> ok 13158 operator-assignment invalid foo **= bar
> ok 13159 operator-assignment invalid foo *= bar + 1
> ok 13160 operator-assignment invalid foo -= bar - baz
> ok 13161 operator-assignment invalid foo += bar + baz
> ok 13162 operator-assignment invalid foo += bar = 1
> ok 13163 operator-assignment invalid foo *= (bar + 1)
> ok 13164 operator-linebreak valid 1 + 1
> ok 13165 operator-linebreak valid 1 + 1 + 1
> ok 13166 operator-linebreak valid 1 +
> 1
> ok 13167 operator-linebreak valid 1 + (1 +
> 1)
> ok 13168 operator-linebreak valid f(1 +
> 1)
> ok 13169 operator-linebreak valid 1 || 1
> ok 13170 operator-linebreak valid 1 || 
> 1
> ok 13171 operator-linebreak valid a += 1
> ok 13172 operator-linebreak valid var a;
> ok 13173 operator-linebreak valid var o = 
> something
> ok 13174 operator-linebreak valid o = 
> something
> ok 13175 operator-linebreak valid 'a\
> ' +
>  'c'
> ok 13176 operator-linebreak valid 'a' +
>  'b\
> '
> ok 13177 operator-linebreak valid (a
> ) + b
> ok 13178 operator-linebreak valid answer = everything 
> ?  42 
> :  foo;
> ok 13179 operator-linebreak valid answer = everything ?
>   42 :
>   foo;
> ok 13180 operator-linebreak valid a ? 1 + 1
> :2
> ok 13181 operator-linebreak valid a ?
> 1 +
>  1
> :2
> ok 13182 operator-linebreak valid o = 1 
> + 1 - foo
> ok 13183 operator-linebreak valid 1
> + 1
> ok 13184 operator-linebreak valid 1 + 1
> + 1
> ok 13185 operator-linebreak valid f(1
> + 1)
> ok 13186 operator-linebreak valid 1 
> || 1
> ok 13187 operator-linebreak valid a += 1
> ok 13188 operator-linebreak valid answer = everything 
> ?  42 
> :  foo;
> ok 13189 operator-linebreak valid 1 + 1
> ok 13190 operator-linebreak valid 1 + 1 + 1
> ok 13191 operator-linebreak valid 1 || 1
> ok 13192 operator-linebreak valid a += 1
> ok 13193 operator-linebreak valid var a;
> ok 13194 operator-linebreak valid 
> 1 + 1
> ok 13195 operator-linebreak valid 1 + 1
> 
> ok 13196 operator-linebreak valid answer = everything ? 42 : foo;
> ok 13197 operator-linebreak valid answer = everything 
> ?
>  42 : foo;
> ok 13198 operator-linebreak valid answer = everything ? 42 
> :
>  foo;
> ok 13199 operator-linebreak invalid 1
> + 1
> ok 13200 operator-linebreak invalid 1 + 2 
>  + 3
> ok 13201 operator-linebreak invalid 1
> +
> 1
> ok 13202 operator-linebreak invalid 1 + (1
> + 1)
> ok 13203 operator-linebreak invalid f(1
> + 1);
> ok 13204 operator-linebreak invalid 1 
>  || 1
> ok 13205 operator-linebreak invalid a
>  += 1
> ok 13206 operator-linebreak invalid var a
>  = 1
> ok 13207 operator-linebreak invalid (b)
> *
> (c)
> ok 13208 operator-linebreak invalid answer = everything ?
>   42 :
>   foo;
> ok 13209 operator-linebreak invalid answer = everything 
> ?  42 
> :  foo;
> ok 13210 operator-linebreak invalid 1 +
> 1
> ok 13211 operator-linebreak invalid f(1 +
> 1);
> ok 13212 operator-linebreak invalid 1 || 
>  1
> ok 13213 operator-linebreak invalid a += 
> 1
> ok 13214 operator-linebreak invalid var a = 
> 1
> ok 13215 operator-linebreak invalid answer = everything ?
>   42 :
>   foo;
> ok 13216 operator-linebreak invalid 1 +
> 1
> ok 13217 operator-linebreak invalid 1
> +1
> ok 13218 operator-linebreak invalid f(1 +
> 1);
> ok 13219 operator-linebreak invalid f(1
> + 1);
> ok 13220 operator-linebreak invalid 1 || 
>  1
> ok 13221 operator-linebreak invalid 1 
>  || 1
> ok 13222 operator-linebreak invalid a += 
> 1
> ok 13223 operator-linebreak invalid a 
> += 1
> ok 13224 operator-linebreak invalid var a = 
> 1
> ok 13225 operator-linebreak invalid var a 
>  = 1
> ok 13226 operator-linebreak invalid answer = everything ?
>   42 
> :  foo;
> ok 13227 operator-linebreak invalid answer = everything
> ?
> 42 + 43
> :
> foo;
> ok 13228 operator-linebreak invalid foo +=
> 42;
> bar -=
> 12
> + 5;
> ok 13229 operator-linebreak invalid answer = everything
> ?
> 42
> :
> foo;
> ok 13230 operator-linebreak invalid foo+
> +bar
> ok 13231 operator-linebreak invalid foo //comment
> && bar
> ok 13232 operator-linebreak invalid foo//comment
> +
> bar
> ok 13233 operator-linebreak invalid foo
> +//comment
> bar
> ok 13234 operator-linebreak invalid foo /* a */ 
> + /* b */ bar
> ok 13235 operator-linebreak invalid foo /* a */ +
>  /* b */ bar
> ok 13236 padded-blocks valid {
> 
> a();
> 
> }
> ok 13237 padded-blocks valid {
> 
> 
> a();
> 
> 
> }
> ok 13238 padded-blocks valid {
> 
> //comment
> a();
> 
> }
> ok 13239 padded-blocks valid {
> 
> a();
> //comment
> 
> }
> ok 13240 padded-blocks valid {
> 
> a()
> //comment
> 
> }
> ok 13241 padded-blocks valid {
> 
> a = 1
> 
> }
> ok 13242 padded-blocks valid {//comment
> 
> a();
> 
> }
> ok 13243 padded-blocks valid { /* comment */
> 
> a();
> 
> }
> ok 13244 padded-blocks valid { /* comment 
>  */
> 
> a();
> 
> }
> ok 13245 padded-blocks valid { /* comment 
>  */ /* another comment 
>  */
> 
> a();
> 
> }
> ok 13246 padded-blocks valid { /* comment 
>  */ /* another comment 
>  */
> 
> a();
> 
> /* comment 
>  */ /* another comment 
>  */}
> ok 13247 padded-blocks valid {
> 
> a();
> 
> /* comment */ }
> ok 13248 padded-blocks valid {
> 
> a();
> 
> /* comment */ }
> ok 13249 padded-blocks valid {
> 
> a();
> 
> /* comment */ }
> ok 13250 padded-blocks valid switch (a) {}
> ok 13251 padded-blocks valid switch (a) {
> 
> case 0: foo();
> case 1: bar();
> 
> }
> ok 13252 padded-blocks valid switch (a) {
> 
> case 0: foo();
> case 1: bar();
> 
> }
> ok 13253 padded-blocks valid switch (a) {
> 
> //comment
> case 0: foo();//comment
> 
> }
> ok 13254 padded-blocks valid switch (a) {//coment
> 
> case 0: foo();
> case 1: bar();
> 
> /* comment */}
> ok 13255 padded-blocks valid class A{
> 
> foo(){}
> 
> }
> ok 13256 padded-blocks valid class A{
> 
> foo(){}
> 
> }
> ok 13257 padded-blocks valid class A{}
> ok 13258 padded-blocks valid class A{
> 
> }
> ok 13259 padded-blocks valid class A{
> 
> foo(){}
> 
> }
> ok 13260 padded-blocks valid {
> a();
> }
> ok 13261 padded-blocks valid {
> a();}
> ok 13262 padded-blocks valid {a();
> }
> ok 13263 padded-blocks valid {a();}
> ok 13264 padded-blocks valid {a();}
> ok 13265 padded-blocks valid {
> 
> a();
> 
> }
> ok 13266 padded-blocks valid {//comment
> a();}
> ok 13267 padded-blocks valid {
> //comment
> a()
> }
> ok 13268 padded-blocks valid {a();//comment
> }
> ok 13269 padded-blocks valid {
> a();
> //comment
> }
> ok 13270 padded-blocks valid {
> a()
> //comment
> }
> ok 13271 padded-blocks valid {
> a()
> //comment
> b()
> }
> ok 13272 padded-blocks valid function a() {
> /* comment */
> return;
> /* comment*/
> }
> ok 13273 padded-blocks valid {
> // comment
> debugger;
> // comment
> }
> ok 13274 padded-blocks valid {
> 
> // comment
> if (
> // comment
>  a) {}
> 
>  }
> ok 13275 padded-blocks valid {
> // comment
> if (
> // comment
>  a) {}
>  }
> ok 13276 padded-blocks valid {
> // comment
> if (
> // comment
>  a) {}
>  }
> ok 13277 padded-blocks valid switch (a) {
> case 0: foo();
> }
> ok 13278 padded-blocks valid switch (a) {
> case 0: foo();
> }
> ok 13279 padded-blocks valid class A{
> foo(){}
> }
> ok 13280 padded-blocks valid class A{
> foo(){}
> }
> ok 13281 padded-blocks valid {
> a();
> }
> ok 13282 padded-blocks valid {
> 
> a();
> 
> }
> ok 13283 padded-blocks valid switch (a) {
> case 0: foo();
> case 1: bar();
> }
> ok 13284 padded-blocks valid switch (a) {
> 
> case 0: foo();
> case 1: bar();
> 
> }
> ok 13285 padded-blocks valid class A{
> foo(){}
> }
> ok 13286 padded-blocks valid class A{
> 
> foo(){}
> 
> }
> ok 13287 padded-blocks invalid {
> //comment
> a();
> 
> }
> ok 13288 padded-blocks invalid { //comment
> a();
> 
> }
> ok 13289 padded-blocks invalid {
> 
> a();
> //comment
> }
> ok 13290 padded-blocks invalid {
> 
> a()
> //comment
> }
> ok 13291 padded-blocks invalid {
> a();
> 
> }
> ok 13292 padded-blocks invalid {
> 
> a();
> }
> ok 13293 padded-blocks invalid {
> a();
> }
> ok 13294 padded-blocks invalid {
> 
> a();
> 
> }
> ok 13295 padded-blocks invalid {
> a();}
> ok 13296 padded-blocks invalid {a();
> }
> ok 13297 padded-blocks invalid {a();
> }
> ok 13298 padded-blocks invalid switch (a) {
> case 0: foo();
> case 1: bar();
> }
> ok 13299 padded-blocks invalid switch (a) {
> case 0: foo();
> case 1: bar();
> }
> ok 13300 padded-blocks invalid switch (a) {
> //comment
> case 0: foo();//comment
> }
> ok 13301 padded-blocks invalid class A {
> constructor(){}
> }
> ok 13302 padded-blocks invalid class A {
> constructor(){}
> }
> ok 13303 padded-blocks invalid {a();}
> ok 13304 padded-blocks invalid {
> a()
> //comment
> 
> }
> ok 13305 padded-blocks invalid {
> 
> a();
> 
> }
> ok 13306 padded-blocks invalid {
> 
> 
> 
> a();
> 
> 
> 
> }
> ok 13307 padded-blocks invalid {
> 
> 
>   a();
> 
> 
> }
> ok 13308 padded-blocks invalid {
> 
> a();
> }
> ok 13309 padded-blocks invalid {
> 
> 	a();
> }
> ok 13310 padded-blocks invalid {
> a();
> 
> }
> ok 13311 padded-blocks invalid   {
>     a();
> 
>   }
> ok 13312 padded-blocks invalid {
> // comment
> if (
> // comment
>  a) {}
> 
> }
> ok 13313 padded-blocks invalid {
> 
> // comment
> if (
> // comment
>  a) {}
> }
> ok 13314 padded-blocks invalid {
> 
> // comment
> if (
> // comment
>  a) {}
> }
> ok 13315 padded-blocks invalid switch (a) {
> 
> case 0: foo();
> 
> }
> ok 13316 padded-blocks invalid switch (a) {
> 
> case 0: foo();
> }
> ok 13317 padded-blocks invalid switch (a) {
> case 0: foo();
> 
>   }
> ok 13318 padded-blocks invalid class A {
> 
> constructor(){
> 
> foo();
> 
> }
> 
> }
> ok 13319 padded-blocks invalid class A {
> 
> constructor(){
> 
> foo();
> 
> }
> 
> }
> ok 13320 padded-blocks invalid class A {
> 
> constructor(){
> 
> foo();
> 
> }
> 
> }
> ok 13321 padded-blocks invalid function foo() { // a
> 
>   b;
> }
> ok 13322 padded-blocks invalid function foo() { /* a
>  */
> 
>   bar;
> }
> ok 13323 padded-blocks invalid function foo() {
> 
>   bar;
> /* a
>  */}
> ok 13324 padded-blocks invalid function foo() { /* a
>  */
> /* b
>  */
>   bar;
> }
> ok 13325 padded-blocks invalid function foo() { /* a
>  */ /* b
>  */
>   bar;
> }
> ok 13326 padded-blocks invalid function foo() { /* a
>  */ /* b
>  */
>   bar;
> /* c
>  *//* d
>  */}
> ok 13327 padding-line-between-statements valid 'use strict'; foo(); if (a) { bar(); }
> ok 13328 padding-line-between-statements valid foo()
> ok 13329 padding-line-between-statements valid foo()
> ok 13330 padding-line-between-statements valid foo();bar();
> ok 13331 padding-line-between-statements valid foo();
> bar();
> ok 13332 padding-line-between-statements valid foo();
> //comment
> bar();
> ok 13333 padding-line-between-statements valid foo();
> /*comment*/
> bar();
> ok 13334 padding-line-between-statements valid foo();
> 
> bar();
> ok 13335 padding-line-between-statements valid foo();
> 
> //comment
> bar();
> ok 13336 padding-line-between-statements valid foo();
> //comment
> 
> bar();
> ok 13337 padding-line-between-statements valid foo();
> //comment
> 
> //comment
> bar();
> ok 13338 padding-line-between-statements valid if(a){}
> 
> ;[].map(b)
> ok 13339 padding-line-between-statements valid foo();
> 
> { foo() }
> 
> foo();
> ok 13340 padding-line-between-statements valid { foo() } { foo() }
> ok 13341 padding-line-between-statements valid { foo() }
> { foo() }
> ok 13342 padding-line-between-statements valid { foo() }
> 
> { foo() }
> ok 13343 padding-line-between-statements valid { foo() }
> 
> //comment
> { foo() }
> ok 13344 padding-line-between-statements valid if(a);
> foo()
> ok 13345 padding-line-between-statements valid do;while(a);
> foo()
> ok 13346 padding-line-between-statements valid do{}while(a);
> 
> foo()
> ok 13347 padding-line-between-statements valid a={}
> foo()
> ok 13348 padding-line-between-statements valid let a={}
> foo()
> ok 13349 padding-line-between-statements valid foo(function(){})
> foo()
> ok 13350 padding-line-between-statements valid (function(){})()
> 
> foo()
> ok 13351 padding-line-between-statements valid !function(){}()
> 
> foo()
> ok 13352 padding-line-between-statements valid module.exports=1
> ok 13353 padding-line-between-statements valid module.exports=1
> 
> foo()
> ok 13354 padding-line-between-statements valid module.exports.foo=1
> 
> foo()
> ok 13355 padding-line-between-statements valid exports.foo=1
> 
> foo()
> ok 13356 padding-line-between-statements valid m.exports=1
> foo()
> ok 13357 padding-line-between-statements valid module.foo=1
> foo()
> ok 13358 padding-line-between-statements valid foo=require("foo")
> foo()
> ok 13359 padding-line-between-statements valid const foo=a.require("foo")
> foo()
> ok 13360 padding-line-between-statements valid "use strict"
> 
> foo()
> ok 13361 padding-line-between-statements valid function foo(){"use strict"
> 
> foo()}
> ok 13362 padding-line-between-statements valid (function foo(){"use strict"
> 
> foo()})
> ok 13363 padding-line-between-statements valid (()=>{"use strict"
> 
> foo()})
> ok 13364 padding-line-between-statements valid 'use strict'
> 
> foo()
> ok 13365 padding-line-between-statements valid foo("use strict")
> foo()
> ok 13366 padding-line-between-statements valid `use strict`
> foo()
> ok 13367 padding-line-between-statements valid ("use strict")
> foo()
> ok 13368 padding-line-between-statements valid 'use '+'strict'
> foo()
> ok 13369 padding-line-between-statements valid foo()
> "use strict"
> foo()
> ok 13370 padding-line-between-statements valid {"use strict"
> foo()}
> ok 13371 padding-line-between-statements valid {}
> foo()
> ok 13372 padding-line-between-statements valid if(a){}
> foo()
> ok 13373 padding-line-between-statements valid while(a){}
> foo()
> ok 13374 padding-line-between-statements valid {
> }
> 
> foo()
> ok 13375 padding-line-between-statements valid if(a){
> }
> 
> foo()
> ok 13376 padding-line-between-statements valid while(a){
> }
> 
> foo()
> ok 13377 padding-line-between-statements valid do{
> }while(a)
> 
> foo()
> ok 13378 padding-line-between-statements valid for(;;){
> }
> 
> foo()
> ok 13379 padding-line-between-statements valid for(a in b){
> }
> 
> foo()
> ok 13380 padding-line-between-statements valid for(a of b){
> }
> 
> foo()
> ok 13381 padding-line-between-statements valid switch(a){
> }
> 
> foo()
> ok 13382 padding-line-between-statements valid function foo(a){
> }
> 
> foo()
> ok 13383 padding-line-between-statements valid var a=function foo(a){
> }
> 
> foo()
> ok 13384 padding-line-between-statements valid {}
> 
> foo()
> ok 13385 padding-line-between-statements valid {
> }
> 
> foo()
> ok 13386 padding-line-between-statements valid {
> foo()
> }
> 
> foo()
> ok 13387 padding-line-between-statements valid if(a){}
> foo()
> ok 13388 padding-line-between-statements valid a={}
> foo()
> ok 13389 padding-line-between-statements valid ;
> 
> foo()
> ok 13390 padding-line-between-statements valid 1;
> foo()
> ok 13391 padding-line-between-statements valid foo()
> 
> foo()
> ok 13392 padding-line-between-statements valid a=b+c
> 
> foo()
> ok 13393 padding-line-between-statements valid var a=1
> foo()
> ok 13394 padding-line-between-statements valid 'use strict'
> foo()
> ok 13395 padding-line-between-statements valid foo()
> 
> foo(
> 	x,
> 	y
> )
> ok 13396 padding-line-between-statements valid foo()
> foo()
> ok 13397 padding-line-between-statements valid () => {
> 	someArray.forEach(x => doSomething(x));
> 	return theThing;
> }
> ok 13398 padding-line-between-statements valid () => {
> 	someArray.forEach(
> 		x => doSomething(x)
> 	);
> 
> 	return theThing;
> }
> ok 13399 padding-line-between-statements valid A:{break A
> 
> foo()}
> ok 13400 padding-line-between-statements valid while(a){break
> 
> foo()}
> ok 13401 padding-line-between-statements valid switch(a){case 0:break
> 
> foo()}
> ok 13402 padding-line-between-statements valid switch(a){case 0:break
> case 1:break}
> ok 13403 padding-line-between-statements valid switch(a){case 0:
> foo()
> 
> case 1:
> foo()}
> ok 13404 padding-line-between-statements valid switch(a){case 0:
> foo()
> 
> default:
> foo()}
> ok 13405 padding-line-between-statements valid class A{}
> 
> foo()
> ok 13406 padding-line-between-statements valid var A = class{}
> foo()
> ok 13407 padding-line-between-statements valid const a=1
> 
> foo()
> ok 13408 padding-line-between-statements valid let a=1
> foo()
> ok 13409 padding-line-between-statements valid while(a){continue
> 
> foo()}
> ok 13410 padding-line-between-statements valid while(a){break
> foo()}
> ok 13411 padding-line-between-statements valid debugger
> 
> foo()
> ok 13412 padding-line-between-statements valid switch(a){default:
> foo()
> 
> case 0:
> foo()
> case 1:}
> ok 13413 padding-line-between-statements valid do;while(a)
> 
> foo()
> ok 13414 padding-line-between-statements valid while(a);
> foo()
> ok 13415 padding-line-between-statements valid export default 1
> 
> foo()
> ok 13416 padding-line-between-statements valid export let a=1
> 
> foo()
> ok 13417 padding-line-between-statements valid var a = 0; export {a}
> 
> foo()
> ok 13418 padding-line-between-statements valid exports.foo=1
> foo()
> ok 13419 padding-line-between-statements valid module.exports={}
> foo()
> ok 13420 padding-line-between-statements valid for(;;);
> 
> foo()
> ok 13421 padding-line-between-statements valid for(a in b);
> 
> foo()
> ok 13422 padding-line-between-statements valid for(a of b);
> 
> foo()
> ok 13423 padding-line-between-statements valid while(a);
> foo()
> ok 13424 padding-line-between-statements valid function foo(){}
> 
> foo()
> ok 13425 padding-line-between-statements valid var foo=function(){}
> foo()
> ok 13426 padding-line-between-statements valid async function foo(){}
> 
> foo()
> ok 13427 padding-line-between-statements valid if(a);
> 
> foo()
> ok 13428 padding-line-between-statements valid if(a);else;
> 
> foo()
> ok 13429 padding-line-between-statements valid if(a);else if(b);else;
> 
> foo()
> ok 13430 padding-line-between-statements valid for(;;);
> foo()
> ok 13431 padding-line-between-statements valid (function(){
> })()
> 
> var a = 2;
> ok 13432 padding-line-between-statements valid +(function(){
> })()
> 
> var a = 2;
> ok 13433 padding-line-between-statements valid (function(){
> })()
> var a = 2;
> ok 13434 padding-line-between-statements valid +(function(){
> })()
> var a = 2;
> ok 13435 padding-line-between-statements valid import 'a'
> 
> foo()
> ok 13436 padding-line-between-statements valid import a from 'a'
> 
> foo()
> ok 13437 padding-line-between-statements valid import * as a from 'a'
> 
> foo()
> ok 13438 padding-line-between-statements valid import {a} from 'a'
> 
> foo()
> ok 13439 padding-line-between-statements valid const a=require('a')
> foo()
> ok 13440 padding-line-between-statements valid let a=1
> 
> foo()
> ok 13441 padding-line-between-statements valid var a=1
> foo()
> ok 13442 padding-line-between-statements valid function foo(){return
> 
> foo()}
> ok 13443 padding-line-between-statements valid throw a
> foo()
> ok 13444 padding-line-between-statements valid switch(a){}
> 
> foo()
> ok 13445 padding-line-between-statements valid if(a){}
> foo()
> ok 13446 padding-line-between-statements valid throw a
> 
> foo()
> ok 13447 padding-line-between-statements valid try{}catch(e){}
> 
> foo()
> ok 13448 padding-line-between-statements valid try{}finally{}
> 
> foo()
> ok 13449 padding-line-between-statements valid try{}catch(e){}finally{}
> 
> foo()
> ok 13450 padding-line-between-statements valid var a=1
> 
> foo()
> ok 13451 padding-line-between-statements valid const a=1
> foo()
> ok 13452 padding-line-between-statements valid while(a);
> 
> foo()
> ok 13453 padding-line-between-statements valid do;while(a)
> foo()
> ok 13454 padding-line-between-statements valid with(a);
> 
> foo()
> ok 13455 padding-line-between-statements valid const a={
> b:1,
> c:2
> }
> 
> const d=3
> ok 13456 padding-line-between-statements valid const a=1
> 
> const b={
> c:2,
> d:3
> }
> ok 13457 padding-line-between-statements valid const a=1
> const b=2
> ok 13458 padding-line-between-statements valid const a=1
> const b=2
> ok 13459 padding-line-between-statements valid let a={
> b:1,
> c:2
> }
> 
> let d=3
> ok 13460 padding-line-between-statements valid let a=1
> 
> let b={
> c:2,
> d:3
> }
> ok 13461 padding-line-between-statements valid let a=1
> let b=2
> ok 13462 padding-line-between-statements valid let a=1
> let b=2
> ok 13463 padding-line-between-statements valid var a={
> b:1,
> c:2
> }
> 
> var d=3
> ok 13464 padding-line-between-statements valid var a=1
> 
> var b={
> c:2,
> d:3
> }
> ok 13465 padding-line-between-statements valid var a=1
> var b=2
> ok 13466 padding-line-between-statements valid var a=1
> var b=2
> ok 13467 padding-line-between-statements valid const a=1
> 
> const b=2
> ok 13468 padding-line-between-statements valid const a=1
> 
> const b=2
> ok 13469 padding-line-between-statements valid const a={
> b:1,
> c:2
> }
> const d={
> e:3,
> f:4
> }
> ok 13470 padding-line-between-statements valid const a={
> b:1,
> c:2
> }
> const d={
> e:3,
> f:4
> }
> ok 13471 padding-line-between-statements valid let a=1
> 
> let b=2
> ok 13472 padding-line-between-statements valid let a=1
> 
> let b=2
> ok 13473 padding-line-between-statements valid let a={
> b:1,
> c:2
> }
> let d={
> e:3,
> f:4
> }
> ok 13474 padding-line-between-statements valid let a={
> b:1,
> c:2
> }
> let d={
> e:3,
> f:4
> }
> ok 13475 padding-line-between-statements valid var a=1
> 
> var b=2
> ok 13476 padding-line-between-statements valid var a=1
> 
> var b=2
> ok 13477 padding-line-between-statements valid var a={
> b:1,
> c:2
> }
> var d={
> e:3,
> f:4
> }
> ok 13478 padding-line-between-statements valid var a={
> b:1,
> c:2
> }
> var d={
> e:3,
> f:4
> }
> ok 13479 padding-line-between-statements valid console.log(greet);
> ok 13480 padding-line-between-statements valid console.log(greet);
> ok 13481 padding-line-between-statements valid var greet = 'hello';
> ok 13482 padding-line-between-statements valid var greet = 'hello';
> ok 13483 padding-line-between-statements valid var greet = 'hello';console.log(greet);
> ok 13484 padding-line-between-statements valid var greet = 'hello';
> console.log(greet);
> ok 13485 padding-line-between-statements valid var greet = 'hello';
> 
> console.log(greet);
> ok 13486 padding-line-between-statements valid var greet = 'hello';
> 
> 
> console.log(greet);
> ok 13487 padding-line-between-statements valid var greet = 'hello';
> 
> 
> 
> console.log(greet);
> ok 13488 padding-line-between-statements valid var greet = 'hello';    
> 
> console.log(greet);
> ok 13489 padding-line-between-statements valid var greet = 'hello';    
> console.log(greet);
> ok 13490 padding-line-between-statements valid var greet = 'hello'; // inline comment
> 
> console.log(greet);
> ok 13491 padding-line-between-statements valid var greet = 'hello'; // inline comment
> console.log(greet);
> ok 13492 padding-line-between-statements valid var greet = 'hello';
> // next-line comment
> console.log(greet);
> ok 13493 padding-line-between-statements valid var greet = 'hello';
> /* block comment
> block comment */
> console.log(greet);
> ok 13494 padding-line-between-statements valid var greet = 'hello';
> // next-line comment
> 
> console.log(greet);
> ok 13495 padding-line-between-statements valid var greet = 'hello';
> /* block comment
> block comment */
> 
> console.log(greet);
> ok 13496 padding-line-between-statements valid var greet = 'hello';
> // next-line comment
> // second-line comment
> 
> console.log(greet);
> ok 13497 padding-line-between-statements valid var greet = 'hello';
> // next-line comment
> // second-line comment
> console.log(greet);
> ok 13498 padding-line-between-statements valid var greet = 'hello';
> // next-line comment
> /* block comment
> block comment */
> console.log(greet);
> ok 13499 padding-line-between-statements valid var greet = 'hello';var name = 'world';console.log(greet, name);
> ok 13500 padding-line-between-statements valid var greet = 'hello';
> var name = 'world';
> console.log(greet, name);
> ok 13501 padding-line-between-statements valid var greet = 'hello';
> var name = 'world';
> 
> console.log(greet, name);
> ok 13502 padding-line-between-statements valid var greet = 'hello';
> // inline comment
> var name = 'world';
> 
> console.log(greet, name);
> ok 13503 padding-line-between-statements valid var greet = 'hello';
> /* block comment
> block comment */
> var name = 'world';
> 
> console.log(greet, name);
> ok 13504 padding-line-between-statements valid var greet = 'hello';
> // inline comment
> var name = 'world';
> console.log(greet, name);
> ok 13505 padding-line-between-statements valid var greet = 'hello';
> /* block comment
> block comment */
> var name = 'world';
> console.log(greet, name);
> ok 13506 padding-line-between-statements valid var greet = 'hello', name = 'world';console.log(greet, name);
> ok 13507 padding-line-between-statements valid var greet = 'hello', name = 'world';
> console.log(greet, name);
> ok 13508 padding-line-between-statements valid var greet = 'hello', name = 'world';
> 
> console.log(greet, name);
> ok 13509 padding-line-between-statements valid var greet = 'hello',
> name = 'world';
> 
> console.log(greet, name);
> ok 13510 padding-line-between-statements valid var greet = 'hello',
> name = 'world';
> console.log(greet, name);
> ok 13511 padding-line-between-statements valid var greet = 'hello', // inline comment
> name = 'world'; // inline comment
> 
> console.log(greet, name);
> ok 13512 padding-line-between-statements valid var greet = 'hello', // inline comment
> name = 'world'; // inline comment
> console.log(greet, name);
> ok 13513 padding-line-between-statements valid var greet = 'hello',
> name = 'world';
> // next-line comment
> console.log(greet);
> ok 13514 padding-line-between-statements valid var greet = 'hello',
> name = 'world';
> /* block comment
> block comment */
> console.log(greet);
> ok 13515 padding-line-between-statements valid let greet = 'hello';
> 
> console.log(greet);
> ok 13516 padding-line-between-statements valid let greet = 'hello';
> console.log(greet);
> ok 13517 padding-line-between-statements valid const greet = 'hello';
> 
> console.log(greet);
> ok 13518 padding-line-between-statements valid const greet = 'hello';
> console.log(greet);
> ok 13519 padding-line-between-statements valid let greet = 'hello';
> var name = 'world';
> 
> console.log(greet, name);
> ok 13520 padding-line-between-statements valid const greet = 'hello';
> var name = 'world';
> 
> console.log(greet, name);
> ok 13521 padding-line-between-statements valid let greet = 'hello';
> const name = 'world';
> 
> console.log(greet, name);
> ok 13522 padding-line-between-statements valid for(let a = 1; a < 1; a++){
>  break;
> }
> ok 13523 padding-line-between-statements valid for(var a = 1; a < 1; a++){
>  break;
> }
> ok 13524 padding-line-between-statements valid for(let a = 1; a < 1; a++){
>  break;
> }
> ok 13525 padding-line-between-statements valid for(var a = 1; a < 1; a++){
>  break;
> }
> ok 13526 padding-line-between-statements valid for(let a in obj){
>  break;
> }
> ok 13527 padding-line-between-statements valid for(var a in obj){
>  break;
> }
> ok 13528 padding-line-between-statements valid for(let a in obj){
>  break;
> }
> ok 13529 padding-line-between-statements valid for(var a in obj){
>  break;
> }
> ok 13530 padding-line-between-statements valid export let a = 1;
> export let b = 2;
> ok 13531 padding-line-between-statements valid export let a = 1;
> export let b = 2;
> ok 13532 padding-line-between-statements valid export var a = 1;
> export var b = 2;
> ok 13533 padding-line-between-statements valid export var a = 1;
> export var b = 2;
> ok 13534 padding-line-between-statements valid export const a = 1;
> export const b = 2;
> ok 13535 padding-line-between-statements valid export const a = 1;
> export const b = 2;
> ok 13536 padding-line-between-statements valid function example() {
> var greet = 'hello'
> }
> ok 13537 padding-line-between-statements valid function example() {
> var greet = 'hello'
> }
> ok 13538 padding-line-between-statements valid function example() {
> var greet = 'hello';
> console.log(greet);
> }
> ok 13539 padding-line-between-statements valid var f = function() {
> var greet = 'hello'
> };
> ok 13540 padding-line-between-statements valid var f = function() {
> var greet = 'hello'
> };
> ok 13541 padding-line-between-statements valid var f = function() {
> var greet = 'hello';
> console.log(greet);
> };
> ok 13542 padding-line-between-statements valid () => {
> var greet = 'hello';
> }
> ok 13543 padding-line-between-statements valid () => {
> var greet = 'hello';
> }
> ok 13544 padding-line-between-statements valid () => {
> var greet = 'hello';
> console.log(greet);
> }
> ok 13545 padding-line-between-statements valid {
> var foo;
> }
> ok 13546 padding-line-between-statements valid {
> var foo;
> }
> ok 13547 padding-line-between-statements valid if(true) {
> var foo;
> }
> ok 13548 padding-line-between-statements valid if(true) {
> var foo;
> }
> ok 13549 padding-line-between-statements valid switch(a) {
> case 0:
> var foo;
> }
> ok 13550 padding-line-between-statements valid switch(a) {
> case 0:
> var foo;
> }
> ok 13551 padding-line-between-statements valid switch(a) {
> case 0:
> var foo;
> 
> case 1:}
> ok 13552 padding-line-between-statements valid switch(a) {
> case 0:
> var foo;
> case 1:}
> ok 13553 padding-line-between-statements valid 
>                 var a = 1
> 
>                 ;(b || c).doSomething()
>             
> ok 13554 padding-line-between-statements valid 
>                 var a = 1
>                 ;(b || c).doSomething()
>             
> ok 13555 padding-line-between-statements valid 
>                 var a = 1
>                 ;
>                 (b || c).doSomething();
>             
> ok 13556 padding-line-between-statements valid switch(a) {
> case 0:
> var foo;
> 
> case 1:}
> ok 13557 padding-line-between-statements valid switch(a) {
> case 0:
> var foo;
> case 1:}
> ok 13558 padding-line-between-statements valid 
>                 var a = 1
> 
>                 ;
>                 (b || c).doSomething();
>             
> ok 13559 padding-line-between-statements valid function a() {
> return;
> }
> ok 13560 padding-line-between-statements valid function a() {
> 
> return;
> }
> ok 13561 padding-line-between-statements valid function a() {
> var b;
> 
> return;
> }
> ok 13562 padding-line-between-statements valid function a() {
> if (b) return;
> }
> ok 13563 padding-line-between-statements valid function a() {
> if (b) { return; }
> }
> ok 13564 padding-line-between-statements valid function a() {
> if (b) {
> return;
> }
> }
> ok 13565 padding-line-between-statements valid function a() {
> if (b) {
> 
> return;
> }
> }
> ok 13566 padding-line-between-statements valid function a() {
> if (b) {
> return;
> }
> 
> return c;
> }
> ok 13567 padding-line-between-statements valid function a() {
> if (b) {
> 
> return;
> }
> 
> return c;
> }
> ok 13568 padding-line-between-statements valid function a() {
> if (!b) {
> return;
> } else {
> return b;
> }
> }
> ok 13569 padding-line-between-statements valid function a() {
> if (!b) {
> return;
> } else {
> 
> return b;
> }
> }
> ok 13570 padding-line-between-statements valid function a() {
> if (b) {
> return b;
> } else if (c) {
> return c;
> }
> }
> ok 13571 padding-line-between-statements valid function a() {
> if (b) {
> return b;
> } else if (c) {
> return c;
> } else {
> return d;
> }
> }
> ok 13572 padding-line-between-statements valid function a() {
> if (b) {
> return b;
> } else if (c) {
> return c;
> } else {
> return d;
> }
> 
> return a;
> }
> ok 13573 padding-line-between-statements valid function a() {
> if (b) return b;
> else if (c) return c;
> else return d;
> }
> ok 13574 padding-line-between-statements valid function a() {
> if (b) return b;
> else if (c) return c;
> else {
> return d;
> }
> }
> ok 13575 padding-line-between-statements valid function a() {
> if (b) return b;
> else if (c) return c;
> else {
> e();
> 
> return d;
> }
> }
> ok 13576 padding-line-between-statements valid function a() {
> while (b) return;
> }
> ok 13577 padding-line-between-statements valid function a() {
>  while (b) 
> return;
> }
> ok 13578 padding-line-between-statements valid function a() {
>  while (b) { return; }
> }
> ok 13579 padding-line-between-statements valid function a() {
>  while (b) {
> return;
> }
> }
> ok 13580 padding-line-between-statements valid function a() {
>  while (b) {
> c();
> 
> return;
> }
> }
> ok 13581 padding-line-between-statements valid function a() {
> var c;
> while (b) {
>  c = d; //comment
> }
> 
> return c;
> }
> ok 13582 padding-line-between-statements valid function a() {
> do return;
> while (b);
> }
> ok 13583 padding-line-between-statements valid function a() {
> do 
> return;
> while (b);
> }
> ok 13584 padding-line-between-statements valid function a() {
> do { return; } while (b);
> }
> ok 13585 padding-line-between-statements valid function a() {
> do { return; }
> while (b);
> }
> ok 13586 padding-line-between-statements valid function a() {
> do {
> return;
> } while (b);
> }
> ok 13587 padding-line-between-statements valid function a() {
> do {
> c();
> 
> return;
> } while (b);
> }
> ok 13588 padding-line-between-statements valid function a() {
> for (var b; b < c; b++) return;
> }
> ok 13589 padding-line-between-statements valid function a() {
> for (var b; b < c; b++)
> return;
> }
> ok 13590 padding-line-between-statements valid function a() {
> for (var b; b < c; b++) {
> return;
> }
> }
> ok 13591 padding-line-between-statements valid function a() {
> for (var b; b < c; b++) {
> c();
> 
> return;
> }
> }
> ok 13592 padding-line-between-statements valid function a() {
> for (var b; b < c; b++) {
> if (d) {
> break; //comment
> }
> 
> return;
> }
> }
> ok 13593 padding-line-between-statements valid function a() {
> for (b in c)
> return;
> }
> ok 13594 padding-line-between-statements valid function a() {
> for (b in c) { return; }
> }
> ok 13595 padding-line-between-statements valid function a() {
> for (b in c) {
> return;
> }
> }
> ok 13596 padding-line-between-statements valid function a() {
> for (b in c) {
> d();
> 
> return;
> }
> }
> ok 13597 padding-line-between-statements valid function a() {
> for (b of c) return;
> }
> ok 13598 padding-line-between-statements valid function a() {
> for (b of c)
> return;
> }
> ok 13599 padding-line-between-statements valid function a() {
> for (b of c) {
> return;
> }
> }
> ok 13600 padding-line-between-statements valid function a() {
> for (b of c) {
> d();
> 
> return;
> }
> }
> ok 13601 padding-line-between-statements valid function a() {
> switch (b) {
> case 'b': return;
> }
> }
> ok 13602 padding-line-between-statements valid function a() {
> switch (b) {
> case 'b':
> return;
> }
> }
> ok 13603 padding-line-between-statements valid function a() {
> switch (b) {
> case 'b': {
> return;
> }
> }
> }
> ok 13604 padding-line-between-statements valid function a() {
> //comment
> return b;
> }
> ok 13605 padding-line-between-statements valid function a() {
> {
> //comment
> }
> 
> return
> }
> ok 13606 padding-line-between-statements valid function a() {
> var b = {
> //comment
> };
> 
> return;
> }
> ok 13607 padding-line-between-statements valid function a() {/*multi-line
> comment*/return b;
> }
> ok 13608 padding-line-between-statements valid function a() {
> /*comment
> comment*/
> //comment
> return b;
> }
> ok 13609 padding-line-between-statements valid function a() {
> /*comment
> comment*/
> //comment
> if (b) return;
> }
> ok 13610 padding-line-between-statements valid function a() {
> /*comment
> comment*/
> //comment
> if (b) {
> c();
> 
> return b;
> } else {
> //comment
> return d;
> }
> 
> /*multi-line
> comment*/
> return e;
> }
> ok 13611 padding-line-between-statements valid function a() {
> if (b) { //comment
> return;
> }
> 
> return c;
> }
> ok 13612 padding-line-between-statements valid function a() {
> if (b) { return; } //comment
> 
> return c;
> }
> ok 13613 padding-line-between-statements valid function a() {
> if (b) { return; } /*multi-line
> comment*/
> 
> return c;
> }
> ok 13614 padding-line-between-statements valid function a() {
> if (b) { return; }
> 
> /*multi-line
> comment*/ return c;
> }
> ok 13615 padding-line-between-statements valid return;
> ok 13616 padding-line-between-statements valid var a;
> 
> return;
> ok 13617 padding-line-between-statements valid // comment
> return;
> ok 13618 padding-line-between-statements valid /* comment */
> return;
> ok 13619 padding-line-between-statements valid /* multi-line
> comment */
> return;
> ok 13620 padding-line-between-statements valid if(true){}
> ok 13621 padding-line-between-statements valid if(true){}
> 
> ok 13622 padding-line-between-statements valid if(true){}
> var a = 2;
> ok 13623 padding-line-between-statements valid if(true){
> if(true) {}
> }
> ok 13624 padding-line-between-statements valid var a = {
> foo: function() {
> },
> bar: function() {
> }}
> ok 13625 padding-line-between-statements valid (function(){
> })()
> var a = 2;
> ok 13626 padding-line-between-statements valid if(true) {
> }
> else
> {
> }
> ok 13627 padding-line-between-statements valid if(true) {
> } else {
>  var a = 2; }
> ok 13628 padding-line-between-statements valid if(true) {
> }
> else if(true)
> {
> }
> else {
> }
> ok 13629 padding-line-between-statements valid do{
> }
> while(true)
> ok 13630 padding-line-between-statements valid try{
> }
> catch(e) {}
> ok 13631 padding-line-between-statements valid try{
> }
> finally {}
> ok 13632 padding-line-between-statements valid try{
> }
> catch(e) {
> }
> finally {
> }
> ok 13633 padding-line-between-statements valid [].map(function() {})
> .filter(function(){})
> ok 13634 padding-line-between-statements valid var a = 2;
> module.exports = a;
> ok 13635 padding-line-between-statements valid module.exports = 2;
> ok 13636 padding-line-between-statements valid var a = 2;
> // foo
> module.exports = a;
> ok 13637 padding-line-between-statements valid var a = 2;
> 
> foo.exports = a;
> ok 13638 padding-line-between-statements valid var a = 2;
> 
> module.foo = a;
> ok 13639 padding-line-between-statements valid var a = 2;
> 
> foo = a;
> ok 13640 padding-line-between-statements valid {}
> ok 13641 padding-line-between-statements valid if(true){}
> ok 13642 padding-line-between-statements valid if(true){}
> 
> ok 13643 padding-line-between-statements valid if(true){}
> 
> var a = 2;
> ok 13644 padding-line-between-statements valid if(true){}
> 
> 
> var a = 2;
> ok 13645 padding-line-between-statements valid if(true){
> if(true) {}
> }
> ok 13646 padding-line-between-statements valid var a = {
> foo: function() {
> },
> 
> bar: function() {
> }}
> ok 13647 padding-line-between-statements valid (function(){
> })()
> 
> var a = 2;
> ok 13648 padding-line-between-statements valid if(true) {
> }
> else
> {
> }
> ok 13649 padding-line-between-statements valid if(true) {
> } else {
>  var a = 2; }
> ok 13650 padding-line-between-statements valid if(true) {
> }
> else if(true)
> {
> }
> else {
> }
> ok 13651 padding-line-between-statements valid do{
> }
> while(true)
> ok 13652 padding-line-between-statements valid try{
> }
> catch(e) {}
> ok 13653 padding-line-between-statements valid try{
> }
> finally {}
> ok 13654 padding-line-between-statements valid try{
> }
> catch(e) {
> }
> finally {
> }
> ok 13655 padding-line-between-statements valid [].map(function() {})
> .filter(function(){})
> ok 13656 padding-line-between-statements valid func(
> 2,
> 3,
> function() {
> }
> )
> ok 13657 padding-line-between-statements valid [
> 2,
> 3,
> function() {
> }
> ]
> ok 13658 padding-line-between-statements valid a(res => {
> })
> .b();
> ok 13659 padding-line-between-statements valid var foo = (
> <div
> ref={function() {
> }}
> >
> foo
> </div>
> );
> ok 13660 padding-line-between-statements valid var i = 0;
> while (i < 100) {
> if(i % 2 === 0) {continue;}
> ++i;
> }
> ok 13661 padding-line-between-statements valid var i = 0;
> while (i < 100) {
> if(i % 2 === 0) {if(i === 4) {continue;}}
> ++i;
> }
> ok 13662 padding-line-between-statements valid module.exports = 2;
> ok 13663 padding-line-between-statements valid var a = 2;
> 
> module.exports = a;
> ok 13664 padding-line-between-statements valid var a = 2;
> foo.exports = a;
> ok 13665 padding-line-between-statements valid var a = 2;
> module.foo = a;
> ok 13666 padding-line-between-statements valid if (true) {
> module.exports = a;
> }
> ok 13667 padding-line-between-statements valid function x() { return; }
> ok 13668 padding-line-between-statements valid if (true) {} else if (false) {}
> ok 13669 padding-line-between-statements valid function x() { var a = true; do { a = !a; } while (a); }
> ok 13670 padding-line-between-statements valid function x() { if (true) return; }
> ok 13671 padding-line-between-statements valid function test() {};
> ok 13672 padding-line-between-statements invalid foo();
> 
> foo();
> ok 13673 padding-line-between-statements invalid foo();
> 
> //comment
> foo();
> ok 13674 padding-line-between-statements invalid     foo();
>     
>     //comment
>     foo();
> ok 13675 padding-line-between-statements invalid if (a) {}
> 
> for (;;) {}
> ok 13676 padding-line-between-statements invalid foo();
> foo();
> ok 13677 padding-line-between-statements invalid     function a() {}
>     do {} while (a)
> ok 13678 padding-line-between-statements invalid foo();//trailing-comment
> //comment
> //comment
> foo();
> ok 13679 padding-line-between-statements invalid {}
> 
> foo()
> ok 13680 padding-line-between-statements invalid {}
> foo()
> ok 13681 padding-line-between-statements invalid if(a){}
> foo()
> ok 13682 padding-line-between-statements invalid if(a){}else{}
> foo()
> ok 13683 padding-line-between-statements invalid if(a){}else if(b){}
> foo()
> ok 13684 padding-line-between-statements invalid if(a){}else if(b){}else{}
> foo()
> ok 13685 padding-line-between-statements invalid switch(a){}
> foo()
> ok 13686 padding-line-between-statements invalid switch(a){case 0:}
> foo()
> ok 13687 padding-line-between-statements invalid try{}catch(e){}
> foo()
> ok 13688 padding-line-between-statements invalid try{}finally{}
> foo()
> ok 13689 padding-line-between-statements invalid try{}catch(e){}finally{}
> foo()
> ok 13690 padding-line-between-statements invalid while(a){}
> foo()
> ok 13691 padding-line-between-statements invalid do{}while(a)
> foo()
> ok 13692 padding-line-between-statements invalid for(;;){}
> foo()
> ok 13693 padding-line-between-statements invalid for(a in b){}
> foo()
> ok 13694 padding-line-between-statements invalid for(a of b){}
> foo()
> ok 13695 padding-line-between-statements invalid a=function(){}
> foo()
> ok 13696 padding-line-between-statements invalid a=()=>{}
> foo()
> ok 13697 padding-line-between-statements invalid function a(){}
> foo()
> ok 13698 padding-line-between-statements invalid let a=function(){}
> foo()
> ok 13699 padding-line-between-statements invalid module.exports=1
> 
> foo()
> ok 13700 padding-line-between-statements invalid module.exports=1
> foo()
> ok 13701 padding-line-between-statements invalid module.exports.foo=1
> foo()
> ok 13702 padding-line-between-statements invalid module.exports[foo]=1
> foo()
> ok 13703 padding-line-between-statements invalid exports.foo=1
> foo()
> ok 13704 padding-line-between-statements invalid exports[foo]=1
> foo()
> ok 13705 padding-line-between-statements invalid const foo=require("foo")
> 
> foo()
> ok 13706 padding-line-between-statements invalid const foo=require("foo")
> foo()
> ok 13707 padding-line-between-statements invalid const foo=require("foo").Foo
> foo()
> ok 13708 padding-line-between-statements invalid const foo=require("foo")[a]
> foo()
> ok 13709 padding-line-between-statements invalid "use strict"
> 
> foo()
> ok 13710 padding-line-between-statements invalid "use strict"
> foo()
> ok 13711 padding-line-between-statements invalid 'use strict'
> foo()
> ok 13712 padding-line-between-statements invalid 'use asm'
> foo()
> ok 13713 padding-line-between-statements invalid {
> }
> 
> foo()
> ok 13714 padding-line-between-statements invalid {
> }
> foo()
> ok 13715 padding-line-between-statements invalid if(a){
> }
> foo()
> ok 13716 padding-line-between-statements invalid if(a){
> }else{
> }
> foo()
> ok 13717 padding-line-between-statements invalid if(a){
> }else if(b){
> }
> foo()
> ok 13718 padding-line-between-statements invalid if(a){
> }else if(b){
> }else{
> }
> foo()
> ok 13719 padding-line-between-statements invalid switch(a){
> }
> foo()
> ok 13720 padding-line-between-statements invalid try{
> }catch(e){
> }
> foo()
> ok 13721 padding-line-between-statements invalid try{
> }finally{
> }
> foo()
> ok 13722 padding-line-between-statements invalid try{
> }catch(e){
> }finally{
> }
> foo()
> ok 13723 padding-line-between-statements invalid while(a){
> }
> foo()
> ok 13724 padding-line-between-statements invalid do{
> }while(a)
> foo()
> ok 13725 padding-line-between-statements invalid for(;;){
> }
> foo()
> ok 13726 padding-line-between-statements invalid for(a in b){
> }
> foo()
> ok 13727 padding-line-between-statements invalid for(a of b){
> }
> foo()
> ok 13728 padding-line-between-statements invalid a=function(){
> }
> foo()
> ok 13729 padding-line-between-statements invalid a=()=>{
> }
> foo()
> ok 13730 padding-line-between-statements invalid function a(){
> }
> foo()
> ok 13731 padding-line-between-statements invalid let a=function(){
> }
> foo()
> ok 13732 padding-line-between-statements invalid {}
> 
> foo()
> ok 13733 padding-line-between-statements invalid {}
> foo()
> ok 13734 padding-line-between-statements invalid ;
> 
> foo()
> ok 13735 padding-line-between-statements invalid ;
> foo()
> ok 13736 padding-line-between-statements invalid foo()
> 
> foo()
> ok 13737 padding-line-between-statements invalid foo()
> foo()
> ok 13738 padding-line-between-statements invalid foo()
> 
> foo(
> 	x,
> 	y
> )
> ok 13739 padding-line-between-statements invalid foo()
> foo(
> 	x,
> 	y
> )
> ok 13740 padding-line-between-statements invalid () => {
> 	someArray.forEach(
> 		x => doSomething(x)
> 	);
> 	return theThing;
> }
> ok 13741 padding-line-between-statements invalid while(a){break
> 
> foo()}
> ok 13742 padding-line-between-statements invalid switch(a){case 0:break
> 
> foo()}
> ok 13743 padding-line-between-statements invalid while(a){break
> foo()}
> ok 13744 padding-line-between-statements invalid switch(a){case 0:break
> foo()}
> ok 13745 padding-line-between-statements invalid switch(a){case 0:
> foo()
> 
> default:}
> ok 13746 padding-line-between-statements invalid switch(a){case 0:
> foo()
> default:}
> ok 13747 padding-line-between-statements invalid class A{}
> 
> foo()
> ok 13748 padding-line-between-statements invalid class A{}
> foo()
> ok 13749 padding-line-between-statements invalid const a=1
> 
> foo()
> ok 13750 padding-line-between-statements invalid const a=1
> foo()
> ok 13751 padding-line-between-statements invalid while(a){continue
> 
> foo()}
> ok 13752 padding-line-between-statements invalid while(a){continue
> foo()}
> ok 13753 padding-line-between-statements invalid debugger
> 
> foo()
> ok 13754 padding-line-between-statements invalid debugger
> foo()
> ok 13755 padding-line-between-statements invalid switch(a){default:
> foo()
> 
> case 0:}
> ok 13756 padding-line-between-statements invalid switch(a){default:
> foo()
> case 0:}
> ok 13757 padding-line-between-statements invalid do;while(a)
> 
> foo()
> ok 13758 padding-line-between-statements invalid do;while(a)
> foo()
> ok 13759 padding-line-between-statements invalid export default 1
> 
> foo()
> ok 13760 padding-line-between-statements invalid export let a=1
> 
> foo()
> ok 13761 padding-line-between-statements invalid var a = 0;export {a}
> 
> foo()
> ok 13762 padding-line-between-statements invalid export default 1
> foo()
> ok 13763 padding-line-between-statements invalid export let a=1
> foo()
> ok 13764 padding-line-between-statements invalid var a = 0;export {a}
> foo()
> ok 13765 padding-line-between-statements invalid for(;;);
> 
> foo()
> ok 13766 padding-line-between-statements invalid for(a in b);
> 
> foo()
> ok 13767 padding-line-between-statements invalid for(a of b);
> 
> foo()
> ok 13768 padding-line-between-statements invalid for(;;);
> foo()
> ok 13769 padding-line-between-statements invalid for(a in b);
> foo()
> ok 13770 padding-line-between-statements invalid for(a of b);
> foo()
> ok 13771 padding-line-between-statements invalid function foo(){}
> 
> foo()
> ok 13772 padding-line-between-statements invalid function foo(){}
> foo()
> ok 13773 padding-line-between-statements invalid async function foo(){}
> foo()
> ok 13774 padding-line-between-statements invalid if(a);
> 
> foo()
> ok 13775 padding-line-between-statements invalid if(a);else;
> 
> foo()
> ok 13776 padding-line-between-statements invalid if(a);
> foo()
> ok 13777 padding-line-between-statements invalid if(a);else;
> foo()
> ok 13778 padding-line-between-statements invalid (function(){
> })()
> 
> var a = 2;
> ok 13779 padding-line-between-statements invalid +(function(){
> })()
> 
> var a = 2;
> ok 13780 padding-line-between-statements invalid (function(){
> })()
> var a = 2;
> ok 13781 padding-line-between-statements invalid +(function(){
> })()
> var a = 2;
> ok 13782 padding-line-between-statements invalid import a from 'a'
> 
> foo()
> ok 13783 padding-line-between-statements invalid import * as a from 'a'
> 
> foo()
> ok 13784 padding-line-between-statements invalid import {a} from 'a'
> 
> foo()
> ok 13785 padding-line-between-statements invalid import a from 'a'
> foo()
> ok 13786 padding-line-between-statements invalid import * as a from 'a'
> foo()
> ok 13787 padding-line-between-statements invalid import {a} from 'a'
> foo()
> ok 13788 padding-line-between-statements invalid let a
> 
> foo()
> ok 13789 padding-line-between-statements invalid let a
> foo()
> ok 13790 padding-line-between-statements invalid function foo(){return
> 
> foo()}
> ok 13791 padding-line-between-statements invalid function foo(){return
> foo()}
> ok 13792 padding-line-between-statements invalid switch(a){}
> 
> foo()
> ok 13793 padding-line-between-statements invalid switch(a){}
> foo()
> ok 13794 padding-line-between-statements invalid throw a
> 
> foo()
> ok 13795 padding-line-between-statements invalid throw a
> foo()
> ok 13796 padding-line-between-statements invalid try{}catch(e){}
> 
> foo()
> ok 13797 padding-line-between-statements invalid try{}finally{}
> 
> foo()
> ok 13798 padding-line-between-statements invalid try{}catch(e){}finally{}
> 
> foo()
> ok 13799 padding-line-between-statements invalid try{}catch(e){}
> foo()
> ok 13800 padding-line-between-statements invalid try{}finally{}
> foo()
> ok 13801 padding-line-between-statements invalid try{}catch(e){}finally{}
> foo()
> ok 13802 padding-line-between-statements invalid var a
> 
> foo()
> ok 13803 padding-line-between-statements invalid var a
> foo()
> ok 13804 padding-line-between-statements invalid while(a);
> 
> foo()
> ok 13805 padding-line-between-statements invalid while(a);
> foo()
> ok 13806 padding-line-between-statements invalid with(a);
> 
> foo()
> ok 13807 padding-line-between-statements invalid with(a);
> foo()
> ok 13808 padding-line-between-statements invalid const a={
> b:1,
> c:2
> }
> 
> const d=3
> ok 13809 padding-line-between-statements invalid const a={
> b:1,
> c:2
> }
> const d=3
> ok 13810 padding-line-between-statements invalid const a=1
> 
> const b={
> c:2,
> d:3
> }
> ok 13811 padding-line-between-statements invalid const a=1
> const b={
> c:2,
> d:3
> }
> ok 13812 padding-line-between-statements invalid let a={
> b:1,
> c:2
> }
> 
> let d=3
> ok 13813 padding-line-between-statements invalid let a={
> b:1,
> c:2
> }
> let d=3
> ok 13814 padding-line-between-statements invalid let a=1
> 
> let b={
> c:2,
> d:3
> }
> ok 13815 padding-line-between-statements invalid let a=1
> let b={
> c:2,
> d:3
> }
> ok 13816 padding-line-between-statements invalid var a={
> b:1,
> c:2
> }
> 
> var d=3
> ok 13817 padding-line-between-statements invalid var a={
> b:1,
> c:2
> }
> var d=3
> ok 13818 padding-line-between-statements invalid var a=1
> 
> var b={
> c:2,
> d:3
> }
> ok 13819 padding-line-between-statements invalid var a=1
> var b={
> c:2,
> d:3
> }
> ok 13820 padding-line-between-statements invalid const a=1
> 
> const b=2
> ok 13821 padding-line-between-statements invalid const a=1
> const b=2
> ok 13822 padding-line-between-statements invalid const a=1
> 
> const b=2
> ok 13823 padding-line-between-statements invalid const a=1
> const b=2
> ok 13824 padding-line-between-statements invalid let a=1
> 
> let b=2
> ok 13825 padding-line-between-statements invalid let a=1
> let b=2
> ok 13826 padding-line-between-statements invalid let a=1
> 
> let b=2
> ok 13827 padding-line-between-statements invalid let a=1
> let b=2
> ok 13828 padding-line-between-statements invalid var a=1
> 
> var b=2
> ok 13829 padding-line-between-statements invalid var a=1
> var b=2
> ok 13830 padding-line-between-statements invalid var a=1
> 
> var b=2
> ok 13831 padding-line-between-statements invalid var a=1
> var b=2
> ok 13832 padding-line-between-statements invalid var greet = 'hello';console.log(greet);
> ok 13833 padding-line-between-statements invalid var greet = 'hello';var name = 'world';console.log(greet, name);
> ok 13834 padding-line-between-statements invalid var greet = 'hello', name = 'world';console.log(greet, name);
> ok 13835 padding-line-between-statements invalid var greet = 'hello';
> console.log(greet);
> ok 13836 padding-line-between-statements invalid var greet = 'hello';    
> console.log(greet);
> ok 13837 padding-line-between-statements invalid var greet = 'hello'; // inline comment
> console.log(greet);
> ok 13838 padding-line-between-statements invalid var greet = 'hello';
> var name = 'world';
> console.log(greet, name);
> ok 13839 padding-line-between-statements invalid var greet = 'hello', name = 'world';
> console.log(greet, name);
> ok 13840 padding-line-between-statements invalid var greet = 'hello',
> name = 'world';
> console.log(greet, name);
> ok 13841 padding-line-between-statements invalid let greet = 'hello';
> console.log(greet);
> ok 13842 padding-line-between-statements invalid const greet = 'hello';
> console.log(greet);
> ok 13843 padding-line-between-statements invalid function example() {
> var greet = 'hello';
> console.log(greet);
> }
> ok 13844 padding-line-between-statements invalid var f = function() {
> var greet = 'hello';
> console.log(greet);
> };
> ok 13845 padding-line-between-statements invalid () => {
> var greet = 'hello';
> console.log(greet);
> }
> ok 13846 padding-line-between-statements invalid var greet = 'hello';
> 
> console.log(greet);
> ok 13847 padding-line-between-statements invalid var greet = 'hello';
> 
> 
> console.log(greet);
> ok 13848 padding-line-between-statements invalid var greet = 'hello';
> 
> 
> 
> console.log(greet);
> ok 13849 padding-line-between-statements invalid var greet = 'hello';    
> 
> console.log(greet);
> ok 13850 padding-line-between-statements invalid var greet = 'hello'; // inline comment
> 
> console.log(greet);
> ok 13851 padding-line-between-statements invalid var greet = 'hello';
> var name = 'world';
> 
> console.log(greet, name);
> ok 13852 padding-line-between-statements invalid var greet = 'hello', name = 'world';
> 
> console.log(greet, name);
> ok 13853 padding-line-between-statements invalid var greet = 'hello',
> name = 'world';
> 
> console.log(greet, name);
> ok 13854 padding-line-between-statements invalid var greet = 'hello', // inline comment
> name = 'world'; // inline comment
> 
> console.log(greet, name);
> ok 13855 padding-line-between-statements invalid let greet = 'hello';
> 
> console.log(greet);
> ok 13856 padding-line-between-statements invalid const greet = 'hello';
> 
> console.log(greet);
> ok 13857 padding-line-between-statements invalid var greet = 'hello';
> // next-line comment
> console.log(greet);
> ok 13858 padding-line-between-statements invalid var greet = 'hello';
> /* block comment
> block comment */
> console.log(greet);
> ok 13859 padding-line-between-statements invalid var greet = 'hello',
> name = 'world';
> // next-line comment
> console.log(greet);
> ok 13860 padding-line-between-statements invalid var greet = 'hello',
> name = 'world';
> /* block comment
> block comment */
> console.log(greet);
> ok 13861 padding-line-between-statements invalid var greet = 'hello';
> // next-line comment
> // second-line comment
> console.log(greet);
> ok 13862 padding-line-between-statements invalid var greet = 'hello';
> // next-line comment
> /* block comment
> block comment */
> console.log(greet);
> ok 13863 padding-line-between-statements invalid 
>                 var a = 1
>                 ;(b || c).doSomething()
>             
> ok 13864 padding-line-between-statements invalid 
>                 var a = 1
> 
>                 ;(b || c).doSomething()
>             
> ok 13865 padding-line-between-statements invalid function a() {
> var b; return;
> }
> ok 13866 padding-line-between-statements invalid function a() {
> var b;
> return;
> }
> ok 13867 padding-line-between-statements invalid function a() {
> if (b) return b;
> else if (c) return c;
> else {
> e();
> return d;
> }
> }
> ok 13868 padding-line-between-statements invalid function a() {
> if (b) return b;
> else if (c) return c;
> else {
> e(); return d;
> }
> }
> ok 13869 padding-line-between-statements invalid function a() {
>  while (b) {
> c();
> return;
> }
> }
> ok 13870 padding-line-between-statements invalid function a() {
> do {
> c();
> return;
> } while (b);
> }
> ok 13871 padding-line-between-statements invalid function a() {
> for (var b; b < c; b++) {
> c();
> return;
> }
> }
> ok 13872 padding-line-between-statements invalid function a() {
> for (b in c) {
> d();
> return;
> }
> }
> ok 13873 padding-line-between-statements invalid function a() {
> for (b of c) {
> d();
> return;
> }
> }
> ok 13874 padding-line-between-statements invalid function a() {
> if (b) {
> c();
> }
> //comment
> return b;
> }
> ok 13875 padding-line-between-statements invalid function a() {
> /*comment
> comment*/
> if (b) {
> c();
> return b;
> } else {
> //comment
> 
> return d;
> }
> /*multi-line
> comment*/
> return e;
> }
> ok 13876 padding-line-between-statements invalid function a() {
> if (b) { return; } //comment
> return c;
> }
> ok 13877 padding-line-between-statements invalid function a() {
> if (b) { return; } /*multi-line
> comment*/
> return c;
> }
> ok 13878 padding-line-between-statements invalid function a() {
> if (b) { return; }
> /*multi-line
> comment*/ return c;
> }
> ok 13879 padding-line-between-statements invalid function a() {
> if (b) { return; } /*multi-line
> comment*/ return c;
> }
> ok 13880 padding-line-between-statements invalid var a;
> return;
> ok 13881 padding-line-between-statements invalid var a; return;
> ok 13882 padding-line-between-statements invalid function a() {
> {
> //comment
> }
> return
> }
> ok 13883 padding-line-between-statements invalid function a() {
> {
> //comment
> } return
> }
> ok 13884 padding-line-between-statements invalid function a() {
> var c;
> while (b) {
>  c = d; //comment
> }
> return c;
> }
> ok 13885 padding-line-between-statements invalid function a() {
> for (var b; b < c; b++) {
> if (d) {
> break; //comment
> }
> return;
> }
> }
> ok 13886 padding-line-between-statements invalid function a() {
> var b; /*multi-line
> comment*/
> return c;
> }
> ok 13887 padding-line-between-statements invalid function a() {
> var b;
> /*multi-line
> comment*/ return c;
> }
> ok 13888 padding-line-between-statements invalid function a() {
> var b; /*multi-line
> comment*/ return c;
> }
> ok 13889 padding-line-between-statements invalid function a() {
> var b;
> //comment
> return;
> }
> ok 13890 padding-line-between-statements invalid function a() {
> var b; //comment
> return;
> }
> ok 13891 padding-line-between-statements invalid function a() {
> var b;
> /* comment */ return;
> }
> ok 13892 padding-line-between-statements invalid function a() {
> var b;
> //comment
> /* comment */ return;
> }
> ok 13893 padding-line-between-statements invalid function a() {
> var b; /* comment */ return;
> }
> ok 13894 padding-line-between-statements invalid function a() {
> var b; /* comment */
> return;
> }
> ok 13895 padding-line-between-statements invalid function a() {
> var b;
> return; //comment
> }
> ok 13896 padding-line-between-statements invalid function a() {
> var b; return; //comment
> }
> ok 13897 padding-line-between-statements invalid if(true){}
> 
> var a = 2;
> ok 13898 padding-line-between-statements invalid if(true){
> if(true) {}
> 
> var a = 2;}
> ok 13899 padding-line-between-statements invalid (function(){
> })()
> 
> var a = 2;
> ok 13900 padding-line-between-statements invalid +(function(){
> })()
> 
> var a = 2;
> ok 13901 padding-line-between-statements invalid var a = function() {};
> 
> var b = 2;
> ok 13902 padding-line-between-statements invalid var a = 2;
> 
> module.exports = a;
> ok 13903 padding-line-between-statements invalid function x() { var a;
> 
> return; }
> ok 13904 padding-line-between-statements invalid function x() { var a = true;
> 
> if (a) { a = !a; }; }
> ok 13905 padding-line-between-statements invalid function x() { var a = true;
> 
> for (var i = 0; i < 10; i++) { a = !a; }; }
> ok 13906 padding-line-between-statements invalid function x() { var y = true;
> 
> switch ("Oranges") { case "Oranges": y = !y;
> 
> break;
> 
> case "Apples": y = !y;
> 
> break; default: y = !y; } }
> ok 13907 padding-line-between-statements invalid function x() {try { var a;
> 
> throw 0; } catch (e) { var b = 0;
> 
> throw e; } }
> ok 13908 padding-line-between-statements invalid function x(a) { var b = 0;
> 
> if (!a) { return false; };
> 
> for (var i = 0; i < b; i++) { if (!a[i]) return false; }
> 
> return true; }
> ok 13909 padding-line-between-statements invalid if(true){}
> var a = 2;
> ok 13910 padding-line-between-statements invalid var a = function() {
> };
> var b = 2;
> ok 13911 padding-line-between-statements invalid if(true){
> if(true) {}
> var a = 2;}
> ok 13912 padding-line-between-statements invalid (function(){
> })()
> var a = 2;
> ok 13913 padding-line-between-statements invalid var a = function() {
> };
> var b = 2;
> ok 13914 padding-line-between-statements invalid (function(){
> })()
> var a = 2;
> ok 13915 padding-line-between-statements invalid var a = 2;
> module.exports = a;
> ok 13916 padding-line-between-statements invalid function x() { var a; return; }
> ok 13917 padding-line-between-statements invalid function x() { var a = true; for (var i = 0; i < 10; i++) { a = !a; }; }
> ok 13918 padding-line-between-statements invalid function x() { var y = true; switch ("Oranges") { case "Oranges": y = !y; break; case "Apples": y = !y; break; default: y = !y; } }
> ok 13919 padding-line-between-statements invalid function x() { var a = true; while (!a) { a = !a; }; }
> ok 13920 padding-line-between-statements invalid function x() {try { var a; throw 0; } catch (e) { var b = 0; throw e; } }
> ok 13921 padding-line-between-statements invalid function x(a) { var b = 0; if (!a) { return false; }; for (var i = 0; i < b; i++) { if (!a[i]) return false; } return true; }
> ok 13922 prefer-arrow-callback valid foo(a => a);
> ok 13923 prefer-arrow-callback valid foo(function*() {});
> ok 13924 prefer-arrow-callback valid foo(function() { this; });
> ok 13925 prefer-arrow-callback valid foo(function bar() {});
> ok 13926 prefer-arrow-callback valid foo(function() { (() => this); });
> ok 13927 prefer-arrow-callback valid foo(function() { this; }.bind(obj));
> ok 13928 prefer-arrow-callback valid foo(function() { this; }.call(this));
> ok 13929 prefer-arrow-callback valid foo(a => { (function() {}); });
> ok 13930 prefer-arrow-callback valid var foo = function foo() {};
> ok 13931 prefer-arrow-callback valid (function foo() {})();
> ok 13932 prefer-arrow-callback valid foo(function bar() { bar; });
> ok 13933 prefer-arrow-callback valid foo(function bar() { arguments; });
> ok 13934 prefer-arrow-callback valid foo(function bar() { arguments; }.bind(this));
> ok 13935 prefer-arrow-callback valid foo(function bar() { new.target; });
> ok 13936 prefer-arrow-callback valid foo(function bar() { new.target; }.bind(this));
> ok 13937 prefer-arrow-callback valid foo(function bar() { this; }.bind(this, somethingElse));
> ok 13938 prefer-arrow-callback invalid foo(function bar() {});
> ok 13939 prefer-arrow-callback invalid foo(function() {});
> ok 13940 prefer-arrow-callback invalid foo(function bar() {});
> ok 13941 prefer-arrow-callback invalid foo(function() {});
> ok 13942 prefer-arrow-callback invalid foo(nativeCb || function() {});
> ok 13943 prefer-arrow-callback invalid foo(bar ? function() {} : function() {});
> ok 13944 prefer-arrow-callback invalid foo(function() { (function() { this; }); });
> ok 13945 prefer-arrow-callback invalid foo(function() { this; }.bind(this));
> ok 13946 prefer-arrow-callback invalid foo(bar || function() { this; }.bind(this));
> ok 13947 prefer-arrow-callback invalid foo(function() { (() => this); }.bind(this));
> ok 13948 prefer-arrow-callback invalid foo(function bar(a) { a; });
> ok 13949 prefer-arrow-callback invalid foo(function(a) { a; });
> ok 13950 prefer-arrow-callback invalid foo(function(arguments) { arguments; });
> ok 13951 prefer-arrow-callback invalid foo(function() { this; });
> ok 13952 prefer-arrow-callback invalid foo(function() { (() => this); });
> ok 13953 prefer-arrow-callback invalid qux(function(foo, bar, baz) { return foo * 2; })
> ok 13954 prefer-arrow-callback invalid qux(function(foo, bar, baz) { return foo * bar; }.bind(this))
> ok 13955 prefer-arrow-callback invalid qux(function(foo, bar, baz) { return foo * this.qux; }.bind(this))
> ok 13956 prefer-arrow-callback invalid foo(function() {}.bind(this, somethingElse))
> ok 13957 prefer-arrow-callback invalid qux(function(foo = 1, [bar = 2] = [], {qux: baz = 3} = {foo: 'bar'}) { return foo + bar; });
> ok 13958 prefer-arrow-callback invalid qux(function(baz, baz) { })
> ok 13959 prefer-arrow-callback invalid qux(function( /* no params */ ) { })
> ok 13960 prefer-arrow-callback invalid qux(function( /* a */ foo /* b */ , /* c */ bar /* d */ , /* e */ baz /* f */ ) { return foo; })
> ok 13961 prefer-arrow-callback invalid qux(async function (foo = 1, bar = 2, baz = 3) { return baz; })
> ok 13962 prefer-arrow-callback invalid qux(async function (foo = 1, bar = 2, baz = 3) { return this; }.bind(this))
> ok 13963 prefer-const valid var x = 0;
> ok 13964 prefer-const valid let x;
> ok 13965 prefer-const valid let x; { x = 0; } foo(x);
> ok 13966 prefer-const valid let x = 0; x = 1;
> ok 13967 prefer-const valid const x = 0;
> ok 13968 prefer-const valid for (let i = 0, end = 10; i < end; ++i) {}
> ok 13969 prefer-const valid for (let i in [1,2,3]) { i = 0; }
> ok 13970 prefer-const valid for (let x of [1,2,3]) { x = 0; }
> ok 13971 prefer-const valid (function() { var x = 0; })();
> ok 13972 prefer-const valid (function() { let x; })();
> ok 13973 prefer-const valid (function() { let x; { x = 0; } foo(x); })();
> ok 13974 prefer-const valid (function() { let x = 0; x = 1; })();
> ok 13975 prefer-const valid (function() { const x = 0; })();
> ok 13976 prefer-const valid (function() { for (let i = 0, end = 10; i < end; ++i) {} })();
> ok 13977 prefer-const valid (function() { for (let i in [1,2,3]) { i = 0; } })();
> ok 13978 prefer-const valid (function() { for (let x of [1,2,3]) { x = 0; } })();
> ok 13979 prefer-const valid (function(x = 0) { })();
> ok 13980 prefer-const valid let a; while (a = foo());
> ok 13981 prefer-const valid let a; do {} while (a = foo());
> ok 13982 prefer-const valid let a; for (; a = foo(); );
> ok 13983 prefer-const valid let a; for (;; ++a);
> ok 13984 prefer-const valid let a; for (const {b = ++a} in foo());
> ok 13985 prefer-const valid let a; for (const {b = ++a} of foo());
> ok 13986 prefer-const valid let a; for (const x of [1,2,3]) { if (a) {} a = foo(); }
> ok 13987 prefer-const valid let a; for (const x of [1,2,3]) { a = a || foo(); bar(a); }
> ok 13988 prefer-const valid let a; for (const x of [1,2,3]) { foo(++a); }
> ok 13989 prefer-const valid let a; function foo() { if (a) {} a = bar(); }
> ok 13990 prefer-const valid let a; function foo() { a = a || bar(); baz(a); }
> ok 13991 prefer-const valid let a; function foo() { bar(++a); }
> ok 13992 prefer-const valid let id;
> function foo() {
>     if (typeof id !== 'undefined') {
>         return;
>     }
>     id = setInterval(() => {}, 250);
> }
> foo();
> ok 13993 prefer-const valid /*exported a*/ let a; function init() { a = foo(); }
> ok 13994 prefer-const valid /*exported a*/ let a = 1
> ok 13995 prefer-const valid let a; if (true) a = 0; foo(a);
> ok 13996 prefer-const valid 
>         (function (a) {
>             let b;
>             ({ a, b } = obj);
>         })();
>         
> ok 13997 prefer-const valid 
>         (function (a) {
>             let b;
>             ([ a, b ] = obj);
>         })();
>         
> ok 13998 prefer-const valid var a; { var b; ({ a, b } = obj); }
> ok 13999 prefer-const valid let a; { let b; ({ a, b } = obj); }
> ok 14000 prefer-const valid var a; { var b; ([ a, b ] = obj); }
> ok 14001 prefer-const valid let a; { let b; ([ a, b ] = obj); }
> ok 14002 prefer-const valid let x; { x = 0; foo(x); }
> ok 14003 prefer-const valid (function() { let x; { x = 0; foo(x); } })();
> ok 14004 prefer-const valid let x; for (const a of [1,2,3]) { x = foo(); bar(x); }
> ok 14005 prefer-const valid (function() { let x; for (const a of [1,2,3]) { x = foo(); bar(x); } })();
> ok 14006 prefer-const valid let x; for (x of array) { x; }
> ok 14007 prefer-const valid let {a, b} = obj; b = 0;
> ok 14008 prefer-const valid let a, b; ({a, b} = obj); b++;
> ok 14009 prefer-const valid let { name, ...otherStuff } = obj; otherStuff = {};
> ok 14010 prefer-const valid let { name, ...otherStuff } = obj; otherStuff = {};
> ok 14011 prefer-const valid let predicate; [typeNode.returnType, predicate] = foo();
> ok 14012 prefer-const valid let predicate; [typeNode.returnType, ...predicate] = foo();
> ok 14013 prefer-const valid let predicate; [typeNode.returnType,, predicate] = foo();
> ok 14014 prefer-const valid let predicate; [typeNode.returnType=5, predicate] = foo();
> ok 14015 prefer-const valid let predicate; [[typeNode.returnType=5], predicate] = foo();
> ok 14016 prefer-const valid let predicate; [[typeNode.returnType, predicate]] = foo();
> ok 14017 prefer-const valid let predicate; [typeNode.returnType, [predicate]] = foo();
> ok 14018 prefer-const valid let predicate; [, [typeNode.returnType, predicate]] = foo();
> ok 14019 prefer-const valid let predicate; [, {foo:typeNode.returnType, predicate}] = foo();
> ok 14020 prefer-const valid let predicate; [, {foo:typeNode.returnType, ...predicate}] = foo();
> ok 14021 prefer-const valid let a; const b = {}; ({ a, c: b.c } = func());
> ok 14022 prefer-const valid let x; function foo() { bar(x); } x = 0;
> ok 14023 prefer-const valid const x = [1,2]; let y; [,y] = x; y = 0;
> ok 14024 prefer-const valid const x = [1,2,3]; let y, z; [y,,z] = x; y = 0; z = 0;
> ok 14025 prefer-const invalid let x = 1; foo(x);
> ok 14026 prefer-const invalid for (let i in [1,2,3]) { foo(i); }
> ok 14027 prefer-const invalid for (let x of [1,2,3]) { foo(x); }
> ok 14028 prefer-const invalid let [x = -1, y] = [1,2]; y = 0;
> ok 14029 prefer-const invalid let {a: x = -1, b: y} = {a:1,b:2}; y = 0;
> ok 14030 prefer-const invalid (function() { let x = 1; foo(x); })();
> ok 14031 prefer-const invalid (function() { for (let i in [1,2,3]) { foo(i); } })();
> ok 14032 prefer-const invalid (function() { for (let x of [1,2,3]) { foo(x); } })();
> ok 14033 prefer-const invalid (function() { let [x = -1, y] = [1,2]; y = 0; })();
> ok 14034 prefer-const invalid let f = (function() { let g = x; })(); f = 1;
> ok 14035 prefer-const invalid (function() { let {a: x = -1, b: y} = {a:1,b:2}; y = 0; })();
> ok 14036 prefer-const invalid let x = 0; { let x = 1; foo(x); } x = 0;
> ok 14037 prefer-const invalid for (let i = 0; i < 10; ++i) { let x = 1; foo(x); }
> ok 14038 prefer-const invalid for (let i in [1,2,3]) { let x = 1; foo(x); }
> ok 14039 prefer-const invalid var foo = function() {
>     for (const b of c) {
>        let a;
>        a = 1;
>    }
> };
> ok 14040 prefer-const invalid var foo = function() {
>     for (const b of c) {
>        let a;
>        ({a} = 1);
>    }
> };
> ok 14041 prefer-const invalid let x; x = 0;
> ok 14042 prefer-const invalid switch (a) { case 0: let x; x = 0; }
> ok 14043 prefer-const invalid (function() { let x; x = 1; })();
> ok 14044 prefer-const invalid let {a = 0, b} = obj; b = 0; foo(a, b);
> ok 14045 prefer-const invalid let {a: {b, c}} = {a: {b: 1, c: 2}}; b = 3;
> ok 14046 prefer-const invalid let {a: {b, c}} = {a: {b: 1, c: 2}}
> ok 14047 prefer-const invalid let a, b; ({a = 0, b} = obj); b = 0; foo(a, b);
> ok 14048 prefer-const invalid let {a = 0, b} = obj; foo(a, b);
> ok 14049 prefer-const invalid let [a] = [1]
> ok 14050 prefer-const invalid let {a} = obj
> ok 14051 prefer-const invalid let a, b; ({a = 0, b} = obj); foo(a, b);
> ok 14052 prefer-const invalid let {a = 0, b} = obj, c = a; b = a;
> ok 14053 prefer-const invalid let {a = 0, b} = obj, c = a; b = a;
> ok 14054 prefer-const invalid let { name, ...otherStuff } = obj; otherStuff = {};
> ok 14055 prefer-const invalid let { name, ...otherStuff } = obj; otherStuff = {};
> ok 14056 prefer-const invalid let x; function foo() { bar(x); } x = 0;
> ok 14057 prefer-const invalid /*eslint use-x:error*/ let x = 1
> ok 14058 prefer-const invalid /*eslint use-x:error*/ { let x = 1 }
> ok 14059 prefer-const invalid let { foo, bar } = baz;
> ok 14060 prefer-const invalid const x = [1,2]; let [,y] = x;
> ok 14061 prefer-const invalid const x = [1,2,3]; let [y,,z] = x;
> ok 14062 prefer-const invalid let predicate; [, {foo:returnType, predicate}] = foo();
> ok 14063 prefer-const invalid let predicate; [, {foo:returnType, predicate}, ...bar ] = foo();
> ok 14064 prefer-const invalid let predicate; [, {foo:returnType, ...predicate} ] = foo();
> ok 14065 prefer-const invalid let x = 'x', y = 'y';
> ok 14066 prefer-const invalid let x = 'x', y = 'y'; x = 1
> ok 14067 prefer-const invalid let x = 1, y = 'y'; let z = 1;
> ok 14068 prefer-const invalid let { a, b, c} = obj; let { x, y, z} = anotherObj; x = 2;
> ok 14069 prefer-const invalid let x = 'x', y = 'y'; function someFunc() { let a = 1, b = 2; foo(a, b) }
> ok 14070 prefer-const invalid let someFunc = () => { let a = 1, b = 2; foo(a, b) }
> ok 14071 prefer-destructuring valid var [foo] = array;
> ok 14072 prefer-destructuring valid var { foo } = object;
> ok 14073 prefer-destructuring valid var foo;
> ok 14074 prefer-destructuring valid var foo = object.bar;
> ok 14075 prefer-destructuring valid var foo = object.bar;
> ok 14076 prefer-destructuring valid var foo = object.bar;
> ok 14077 prefer-destructuring valid var foo = object.bar;
> ok 14078 prefer-destructuring valid var foo = object['bar'];
> ok 14079 prefer-destructuring valid var foo = object[bar];
> ok 14080 prefer-destructuring valid var { bar: foo } = object;
> ok 14081 prefer-destructuring valid var { bar: foo } = object;
> ok 14082 prefer-destructuring valid var { [bar]: foo } = object;
> ok 14083 prefer-destructuring valid var { [bar]: foo } = object;
> ok 14084 prefer-destructuring valid var foo = array[0];
> ok 14085 prefer-destructuring valid var foo = array[0];
> ok 14086 prefer-destructuring valid var foo = object.foo;
> ok 14087 prefer-destructuring valid var foo = object['foo'];
> ok 14088 prefer-destructuring valid ({ foo } = object);
> ok 14089 prefer-destructuring valid var foo = array[0];
> ok 14090 prefer-destructuring valid var foo = array[0];
> ok 14091 prefer-destructuring valid [foo] = array;
> ok 14092 prefer-destructuring valid foo += array[0]
> ok 14093 prefer-destructuring valid foo += bar.foo
> ok 14094 prefer-destructuring valid foo = object.foo;
> ok 14095 prefer-destructuring valid foo = object.foo;
> ok 14096 prefer-destructuring valid foo = array[0];
> ok 14097 prefer-destructuring valid foo = array[0];
> ok 14098 prefer-destructuring valid foo = array[0];
> ok 14099 prefer-destructuring valid var foo = array[0];
> ok 14100 prefer-destructuring valid foo = object.foo;
> ok 14101 prefer-destructuring valid var foo = object.foo;
> ok 14102 prefer-destructuring valid class Foo extends Bar { static foo() {var foo = super.foo} }
> ok 14103 prefer-destructuring valid foo = bar[foo];
> ok 14104 prefer-destructuring valid var foo = bar[foo];
> ok 14105 prefer-destructuring valid var {foo: {bar}} = object;
> ok 14106 prefer-destructuring valid var {bar} = object.foo;
> ok 14107 prefer-destructuring invalid var foo = array[0];
> ok 14108 prefer-destructuring invalid foo = array[0];
> ok 14109 prefer-destructuring invalid var foo = object.foo;
> ok 14110 prefer-destructuring invalid var foo = object.bar.foo;
> ok 14111 prefer-destructuring invalid var foobar = object.bar;
> ok 14112 prefer-destructuring invalid var foobar = object.bar;
> ok 14113 prefer-destructuring invalid var foo = object[bar];
> ok 14114 prefer-destructuring invalid var foo = object[bar];
> ok 14115 prefer-destructuring invalid var foo = object['foo'];
> ok 14116 prefer-destructuring invalid foo = object.foo;
> ok 14117 prefer-destructuring invalid foo = object['foo'];
> ok 14118 prefer-destructuring invalid var foo = array[0];
> ok 14119 prefer-destructuring invalid foo = array[0];
> ok 14120 prefer-destructuring invalid var foo = array[0];
> ok 14121 prefer-destructuring invalid var foo = array[0];
> ok 14122 prefer-destructuring invalid foo = array[0];
> ok 14123 prefer-destructuring invalid foo = object.foo;
> ok 14124 prefer-destructuring invalid class Foo extends Bar { static foo() {var bar = super.foo.bar} }
> ok 14125 prefer-named-capture-group valid /normal_regex/
> ok 14126 prefer-named-capture-group valid /(?:[0-9]{4})/
> ok 14127 prefer-named-capture-group valid /(?<year>[0-9]{4})/
> ok 14128 prefer-named-capture-group valid /\u{1F680}/u
> ok 14129 prefer-named-capture-group valid new RegExp()
> ok 14130 prefer-named-capture-group valid new RegExp(foo)
> ok 14131 prefer-named-capture-group valid new RegExp('')
> ok 14132 prefer-named-capture-group valid new RegExp('(?<year>[0-9]{4})')
> ok 14133 prefer-named-capture-group valid RegExp()
> ok 14134 prefer-named-capture-group valid RegExp(foo)
> ok 14135 prefer-named-capture-group valid RegExp('')
> ok 14136 prefer-named-capture-group valid RegExp('(?<year>[0-9]{4})')
> ok 14137 prefer-named-capture-group valid RegExp('(')
> ok 14138 prefer-named-capture-group valid RegExp('\\u{1F680}', 'u')
> ok 14139 prefer-named-capture-group invalid /([0-9]{4})/
> ok 14140 prefer-named-capture-group invalid new RegExp('([0-9]{4})')
> ok 14141 prefer-named-capture-group invalid RegExp('([0-9]{4})')
> ok 14142 prefer-named-capture-group invalid /([0-9]{4})-(\w{5})/
> ok 14143 prefer-numeric-literals valid parseInt(1);
> ok 14144 prefer-numeric-literals valid parseInt(1, 3);
> ok 14145 prefer-numeric-literals valid Number.parseInt(1);
> ok 14146 prefer-numeric-literals valid Number.parseInt(1, 3);
> ok 14147 prefer-numeric-literals valid 0b111110111 === 503;
> ok 14148 prefer-numeric-literals valid 0o767 === 503;
> ok 14149 prefer-numeric-literals valid 0x1F7 === 503;
> ok 14150 prefer-numeric-literals valid a[parseInt](1,2);
> ok 14151 prefer-numeric-literals valid parseInt(foo);
> ok 14152 prefer-numeric-literals valid parseInt(foo, 2);
> ok 14153 prefer-numeric-literals valid Number.parseInt(foo);
> ok 14154 prefer-numeric-literals valid Number.parseInt(foo, 2);
> ok 14155 prefer-numeric-literals invalid parseInt("111110111", 2) === 503;
> ok 14156 prefer-numeric-literals invalid parseInt("767", 8) === 503;
> ok 14157 prefer-numeric-literals invalid parseInt("1F7", 16) === 255;
> ok 14158 prefer-numeric-literals invalid Number.parseInt("111110111", 2) === 503;
> ok 14159 prefer-numeric-literals invalid Number.parseInt("767", 8) === 503;
> ok 14160 prefer-numeric-literals invalid Number.parseInt("1F7", 16) === 255;
> ok 14161 prefer-numeric-literals invalid parseInt('7999', 8);
> ok 14162 prefer-numeric-literals invalid parseInt('1234', 2);
> ok 14163 prefer-numeric-literals invalid parseInt('1234.5', 8);
> ok 14164 prefer-numeric-literals invalid parseInt('1️⃣3️⃣3️⃣7️⃣', 16);
> ok 14165 prefer-numeric-literals invalid Number.parseInt('7999', 8);
> ok 14166 prefer-numeric-literals invalid Number.parseInt('1234', 2);
> ok 14167 prefer-numeric-literals invalid Number.parseInt('1234.5', 8);
> ok 14168 prefer-numeric-literals invalid Number.parseInt('1️⃣3️⃣3️⃣7️⃣', 16);
> ok 14169 prefer-object-spread valid Object.assign()
> ok 14170 prefer-object-spread valid let a = Object.assign(a, b)
> ok 14171 prefer-object-spread valid Object.assign(a, b)
> ok 14172 prefer-object-spread valid let a = Object.assign(b, { c: 1 })
> ok 14173 prefer-object-spread valid const bar = { ...foo }
> ok 14174 prefer-object-spread valid Object.assign(...foo)
> ok 14175 prefer-object-spread valid Object.assign(foo, { bar: baz })
> ok 14176 prefer-object-spread valid Object.assign({}, ...objects)
> ok 14177 prefer-object-spread valid foo({ foo: 'bar' })
> ok 14178 prefer-object-spread valid 
>         const Object = {};
>         Object.assign({}, foo);
>         
> ok 14179 prefer-object-spread valid 
>         Object = {};
>         Object.assign({}, foo);
>         
> ok 14180 prefer-object-spread valid 
>         const Object = {};
>         Object.assign({ foo: 'bar' });
>         
> ok 14181 prefer-object-spread valid 
>         Object = {};
>         Object.assign({ foo: 'bar' });
>         
> ok 14182 prefer-object-spread valid 
>         const Object = require('foo');
>         Object.assign({ foo: 'bar' });
>         
> ok 14183 prefer-object-spread valid 
>         import Object from 'foo';
>         Object.assign({ foo: 'bar' });
>         
> ok 14184 prefer-object-spread valid 
>         import { Something as Object } from 'foo';
>         Object.assign({ foo: 'bar' });
>         
> ok 14185 prefer-object-spread valid 
>         import { Object, Array } from 'globals';
>         Object.assign({ foo: 'bar' });
>         
> ok 14186 prefer-object-spread invalid Object.assign({}, foo)
> ok 14187 prefer-object-spread invalid Object.assign({}, { foo: 'bar' })
> ok 14188 prefer-object-spread invalid Object.assign({}, baz, { foo: 'bar' })
> ok 14189 prefer-object-spread invalid Object.assign({}, { foo: 'bar', baz: 'foo' })
> ok 14190 prefer-object-spread invalid Object.assign({ foo: 'bar' }, baz)
> ok 14191 prefer-object-spread invalid Object.assign({ foo: 'bar' }, cats, dogs, trees, birds)
> ok 14192 prefer-object-spread invalid Object.assign({ foo: 'bar' }, Object.assign({ bar: 'foo' }, baz))
> ok 14193 prefer-object-spread invalid Object.assign({ foo: 'bar' }, Object.assign({ bar: 'foo' }, Object.assign({}, { superNested: 'butwhy' })))
> ok 14194 prefer-object-spread invalid Object.assign({foo: 'bar', ...bar}, baz)
> ok 14195 prefer-object-spread invalid Object.assign({}, { foo, bar, baz })
> ok 14196 prefer-object-spread invalid Object.assign({}, { [bar]: 'foo' })
> ok 14197 prefer-object-spread invalid Object.assign({ ...bar }, { ...baz })
> ok 14198 prefer-object-spread invalid Object.assign({ ...bar }, {
>                 // this is a bar
>                 foo: 'bar',
>                 baz: "cats"
>             })
> ok 14199 prefer-object-spread invalid Object.assign({
>                 boo: "lol",
>                 // I'm a comment
>                 dog: "cat"
>              }, {
>                 // this is a bar
>                 foo: 'bar',
>                 baz: "cats"
>             })
> ok 14200 prefer-object-spread invalid const test = Object.assign({ ...bar }, {
>                 <!-- html comment
>                 foo: 'bar',
>                 baz: "cats"
>                 --> weird
>             })
> ok 14201 prefer-object-spread invalid const test = Object.assign({ ...bar }, {
>                 foo: 'bar', // inline comment
>                 baz: "cats"
>             })
> ok 14202 prefer-object-spread invalid const test = Object.assign({ ...bar }, {
>                 /**
>                  * foo
>                  */
>                 foo: 'bar',
>                 baz: "cats"
>             })
> ok 14203 prefer-object-spread invalid Object.assign({})
> ok 14204 prefer-object-spread invalid Object.assign({ foo: bar })
> ok 14205 prefer-object-spread invalid 
>                 const foo = 'bar';
>                 Object.assign({ foo: bar })
>             
> ok 14206 prefer-object-spread invalid 
>                 foo = 'bar';
>                 Object.assign({ foo: bar })
>             
> ok 14207 prefer-object-spread invalid let a = Object.assign({})
> ok 14208 prefer-object-spread invalid let a = Object.assign({}, a)
> ok 14209 prefer-object-spread invalid let a = Object.assign({ a: 1 }, b)
> ok 14210 prefer-object-spread invalid Object.assign(  {},  a,      b,   )
> ok 14211 prefer-object-spread invalid Object.assign({}, a ? b : {}, b => c, a = 2)
> ok 14212 prefer-object-spread invalid 
>                 const someVar = 'foo';
>                 Object.assign({}, a ? b : {}, b => c, a = 2)
>             
> ok 14213 prefer-object-spread invalid 
>                 someVar = 'foo';
>                 Object.assign({}, a ? b : {}, b => c, a = 2)
>             
> ok 14214 prefer-object-spread invalid [1, 2, Object.assign({}, a)]
> ok 14215 prefer-object-spread invalid const foo = Object.assign({}, a)
> ok 14216 prefer-object-spread invalid function foo() { return Object.assign({}, a) }
> ok 14217 prefer-object-spread invalid foo(Object.assign({}, a));
> ok 14218 prefer-object-spread invalid const x = { foo: 'bar', baz: Object.assign({}, a) }
> ok 14219 prefer-object-spread invalid 
>                 import Foo from 'foo';
>                 Object.assign({ foo: Foo });
>             
> ok 14220 prefer-object-spread invalid 
>                 import Foo from 'foo';
>                 Object.assign({}, Foo);
>             
> ok 14221 prefer-object-spread invalid 
>                 const Foo = require('foo');
>                 Object.assign({ foo: Foo });
>             
> ok 14222 prefer-object-spread invalid 
>                 import { Something as somethingelse } from 'foo';
>                 Object.assign({}, somethingelse);
>             
> ok 14223 prefer-object-spread invalid 
>                 import { foo } from 'foo';
>                 Object.assign({ foo: Foo });
>             
> ok 14224 prefer-object-spread invalid 
>                 const Foo = require('foo');
>                 Object.assign({}, Foo);
>             
> ok 14225 prefer-object-spread invalid 
>                 const actions = Object.assign(
>                     {
>                         onChangeInput: this.handleChangeInput,
>                     },
>                     this.props.actions
>                 );
>             
> ok 14226 prefer-object-spread invalid 
>                 const actions = Object.assign(
>                     {
>                         onChangeInput: this.handleChangeInput, //
>                     },
>                     this.props.actions
>                 );
>             
> ok 14227 prefer-object-spread invalid 
>                 const actions = Object.assign(
>                     {
>                         onChangeInput: this.handleChangeInput //
>                     },
>                     this.props.actions
>                 );
>             
> ok 14228 prefer-object-spread invalid 
>                 const actions = Object.assign(
>                     (
>                         {
>                             onChangeInput: this.handleChangeInput
>                         }
>                     ),
>                     (
>                         this.props.actions
>                     )
>                 );
>             
> ok 14229 prefer-object-spread invalid 
>                 eventData = Object.assign({}, eventData, { outsideLocality: `${originLocality} - ${destinationLocality}` })
>             
> ok 14230 prefer-object-spread invalid Object.assign({ });
> ok 14231 prefer-object-spread invalid Object.assign({
> });
> ok 14232 prefer-promise-reject-errors valid Promise.resolve(5)
> ok 14233 prefer-promise-reject-errors valid Foo.reject(5)
> ok 14234 prefer-promise-reject-errors valid Promise.reject(foo)
> ok 14235 prefer-promise-reject-errors valid Promise.reject(foo.bar)
> ok 14236 prefer-promise-reject-errors valid Promise.reject(foo.bar())
> ok 14237 prefer-promise-reject-errors valid Promise.reject(new Error())
> ok 14238 prefer-promise-reject-errors valid Promise.reject(new TypeError)
> ok 14239 prefer-promise-reject-errors valid Promise.reject(new Error('foo'))
> ok 14240 prefer-promise-reject-errors valid new Foo((resolve, reject) => reject(5))
> ok 14241 prefer-promise-reject-errors valid new Promise(function(resolve, reject) { return function(reject) { reject(5) } })
> ok 14242 prefer-promise-reject-errors valid new Promise(function(resolve, reject) { if (foo) { const reject = somethingElse; reject(5) } })
> ok 14243 prefer-promise-reject-errors valid new Promise(function(resolve, {apply}) { apply(5) })
> ok 14244 prefer-promise-reject-errors valid new Promise(function(resolve, reject) { resolve(5, reject) })
> ok 14245 prefer-promise-reject-errors valid async function foo() { Promise.reject(await foo); }
> ok 14246 prefer-promise-reject-errors valid Promise.reject()
> ok 14247 prefer-promise-reject-errors valid new Promise(function(resolve, reject) { reject() })
> ok 14248 prefer-promise-reject-errors invalid Promise.reject(5)
> ok 14249 prefer-promise-reject-errors invalid Promise.reject('foo')
> ok 14250 prefer-promise-reject-errors invalid Promise.reject(`foo`)
> ok 14251 prefer-promise-reject-errors invalid Promise.reject(!foo)
> ok 14252 prefer-promise-reject-errors invalid Promise.reject(void foo)
> ok 14253 prefer-promise-reject-errors invalid Promise.reject()
> ok 14254 prefer-promise-reject-errors invalid Promise.reject(undefined)
> ok 14255 prefer-promise-reject-errors invalid Promise.reject({ foo: 1 })
> ok 14256 prefer-promise-reject-errors invalid Promise.reject([1, 2, 3])
> ok 14257 prefer-promise-reject-errors invalid Promise.reject()
> ok 14258 prefer-promise-reject-errors invalid new Promise(function(resolve, reject) { reject() })
> ok 14259 prefer-promise-reject-errors invalid Promise.reject(undefined)
> ok 14260 prefer-promise-reject-errors invalid Promise.reject('foo', somethingElse)
> ok 14261 prefer-promise-reject-errors invalid new Promise(function(resolve, reject) { reject(5) })
> ok 14262 prefer-promise-reject-errors invalid new Promise((resolve, reject) => { reject(5) })
> ok 14263 prefer-promise-reject-errors invalid new Promise((resolve, reject) => reject(5))
> ok 14264 prefer-promise-reject-errors invalid new Promise((resolve, reject) => reject())
> ok 14265 prefer-promise-reject-errors invalid new Promise(function(yes, no) { no(5) })
> ok 14266 prefer-promise-reject-errors invalid 
>           new Promise((resolve, reject) => {
>             fs.readFile('foo.txt', (err, file) => {
>               if (err) reject('File not found')
>               else resolve(file)
>             })
>           })
>         
> ok 14267 prefer-promise-reject-errors invalid new Promise(({foo, bar, baz}, reject) => reject(5))
> ok 14268 prefer-promise-reject-errors invalid new Promise(function(reject, reject) { reject(5) })
> ok 14269 prefer-promise-reject-errors invalid new Promise(function(foo, arguments) { arguments(5) })
> ok 14270 prefer-promise-reject-errors invalid new Promise((foo, arguments) => arguments(5))
> ok 14271 prefer-promise-reject-errors invalid new Promise(function({}, reject) { reject(5) })
> ok 14272 prefer-promise-reject-errors invalid new Promise(({}, reject) => reject(5))
> ok 14273 prefer-promise-reject-errors invalid new Promise((resolve, reject, somethingElse = reject(5)) => {})
> ok 14274 prefer-reflect valid Reflect.apply(function(){}, null, 1, 2);
> ok 14275 prefer-reflect valid Reflect.apply(function(){}, null, 1, 2);
> ok 14276 prefer-reflect valid (function(){}).apply(null, [1, 2]);
> ok 14277 prefer-reflect valid (function(){}).call(null, 1, 2);
> ok 14278 prefer-reflect valid Reflect.defineProperty({}, 'foo', {value: 1})
> ok 14279 prefer-reflect valid Reflect.defineProperty({}, 'foo', {value: 1})
> ok 14280 prefer-reflect valid Object.defineProperty({}, 'foo', {value: 1})
> ok 14281 prefer-reflect valid Reflect.getOwnPropertyDescriptor({}, 'foo');
> ok 14282 prefer-reflect valid Reflect.getOwnPropertyDescriptor({}, 'foo');
> ok 14283 prefer-reflect valid Object.getOwnPropertyDescriptor({}, 'foo');
> ok 14284 prefer-reflect valid Reflect.getPrototypeOf({});
> ok 14285 prefer-reflect valid Reflect.getPrototypeOf({});
> ok 14286 prefer-reflect valid Object.getPrototypeOf({});
> ok 14287 prefer-reflect valid Reflect.setPrototypeOf({}, Object.prototype);
> ok 14288 prefer-reflect valid Reflect.setPrototypeOf({}, Object.prototype);
> ok 14289 prefer-reflect valid Object.setPrototypeOf({}, Object.prototype);
> ok 14290 prefer-reflect valid Reflect.isExtensible({});
> ok 14291 prefer-reflect valid Reflect.isExtensible({});
> ok 14292 prefer-reflect valid Object.isExtensible({});
> ok 14293 prefer-reflect valid Reflect.getOwnPropertyNames({});
> ok 14294 prefer-reflect valid Reflect.getOwnPropertyNames({});
> ok 14295 prefer-reflect valid Object.getOwnPropertyNames({});
> ok 14296 prefer-reflect valid Reflect.preventExtensions({});
> ok 14297 prefer-reflect valid Reflect.preventExtensions({});
> ok 14298 prefer-reflect valid Object.preventExtensions({});
> ok 14299 prefer-reflect valid Reflect.deleteProperty({}, 'foo');
> ok 14300 prefer-reflect valid Reflect.deleteProperty({}, 'foo');
> ok 14301 prefer-reflect valid delete foo;
> ok 14302 prefer-reflect valid delete ({}).foo
> ok 14303 prefer-reflect invalid (function(){}).apply(null, [1, 2])
> ok 14304 prefer-reflect invalid (function(){}).apply(null, [1, 2])
> ok 14305 prefer-reflect invalid (function(){}).call(null, 1, 2)
> ok 14306 prefer-reflect invalid (function(){}).call(null, 1, 2)
> ok 14307 prefer-reflect invalid Object.defineProperty({}, 'foo', { value: 1 })
> ok 14308 prefer-reflect invalid Object.defineProperty({}, 'foo', { value: 1 })
> ok 14309 prefer-reflect invalid Object.getOwnPropertyDescriptor({}, 'foo')
> ok 14310 prefer-reflect invalid Object.getOwnPropertyDescriptor({}, 'foo')
> ok 14311 prefer-reflect invalid Object.getPrototypeOf({})
> ok 14312 prefer-reflect invalid Object.getPrototypeOf({})
> ok 14313 prefer-reflect invalid Object.setPrototypeOf({}, Object.prototype)
> ok 14314 prefer-reflect invalid Object.setPrototypeOf({}, Object.prototype)
> ok 14315 prefer-reflect invalid Object.isExtensible({})
> ok 14316 prefer-reflect invalid Object.isExtensible({})
> ok 14317 prefer-reflect invalid Object.getOwnPropertyNames({})
> ok 14318 prefer-reflect invalid Object.getOwnPropertyNames({})
> ok 14319 prefer-reflect invalid Object.preventExtensions({})
> ok 14320 prefer-reflect invalid Object.preventExtensions({})
> ok 14321 prefer-reflect invalid delete ({}).foo
> ok 14322 prefer-reflect invalid delete ({}).foo
> ok 14323 prefer-rest-params valid arguments;
> ok 14324 prefer-rest-params valid function foo(arguments) { arguments; }
> ok 14325 prefer-rest-params valid function foo() { var arguments; arguments; }
> ok 14326 prefer-rest-params valid var foo = () => arguments;
> ok 14327 prefer-rest-params valid function foo(...args) { args; }
> ok 14328 prefer-rest-params valid function foo() { arguments.length; }
> ok 14329 prefer-rest-params valid function foo() { arguments.callee; }
> ok 14330 prefer-rest-params invalid function foo() { arguments; }
> ok 14331 prefer-rest-params invalid function foo() { arguments[0]; }
> ok 14332 prefer-rest-params invalid function foo() { arguments[1]; }
> ok 14333 prefer-rest-params invalid function foo() { arguments[Symbol.iterator]; }
> ok 14334 prefer-spread valid foo.apply(obj, args);
> ok 14335 prefer-spread valid obj.foo.apply(null, args);
> ok 14336 prefer-spread valid obj.foo.apply(otherObj, args);
> ok 14337 prefer-spread valid a.b(x, y).c.foo.apply(a.b(x, z).c, args);
> ok 14338 prefer-spread valid a.b.foo.apply(a.b.c, args);
> ok 14339 prefer-spread valid foo.apply(undefined, [1, 2]);
> ok 14340 prefer-spread valid foo.apply(null, [1, 2]);
> ok 14341 prefer-spread valid obj.foo.apply(obj, [1, 2]);
> ok 14342 prefer-spread valid var apply; foo[apply](null, args);
> ok 14343 prefer-spread valid foo.apply();
> ok 14344 prefer-spread valid obj.foo.apply();
> ok 14345 prefer-spread valid obj.foo.apply(obj, ...args)
> ok 14346 prefer-spread invalid foo.apply(undefined, args);
> ok 14347 prefer-spread invalid foo.apply(void 0, args);
> ok 14348 prefer-spread invalid foo.apply(null, args);
> ok 14349 prefer-spread invalid obj.foo.apply(obj, args);
> ok 14350 prefer-spread invalid a.b.c.foo.apply(a.b.c, args);
> ok 14351 prefer-spread invalid a.b(x, y).c.foo.apply(a.b(x, y).c, args);
> ok 14352 prefer-spread invalid [].concat.apply([ ], args);
> ok 14353 prefer-spread invalid [].concat.apply([
> /*empty*/
> ], args);
> ok 14354 prefer-template valid 'use strict';
> ok 14355 prefer-template valid var foo = 'foo' + '\0';
> ok 14356 prefer-template valid var foo = 'bar';
> ok 14357 prefer-template valid var foo = 'bar' + 'baz';
> ok 14358 prefer-template valid var foo = foo + +'100';
> ok 14359 prefer-template valid var foo = `bar`;
> ok 14360 prefer-template valid var foo = `hello, ${name}!`;
> ok 14361 prefer-template valid var foo = `foo` + `bar` + "hoge";
> ok 14362 prefer-template valid var foo = `foo` +
>     `bar` +
>     "hoge";
> ok 14363 prefer-template invalid var foo = 'hello, ' + name + '!';
> ok 14364 prefer-template invalid var foo = bar + 'baz';
> ok 14365 prefer-template invalid var foo = bar + `baz`;
> ok 14366 prefer-template invalid var foo = +100 + 'yen';
> ok 14367 prefer-template invalid var foo = 'bar' + baz;
> ok 14368 prefer-template invalid var foo = '¥' + (n * 1000) + '-'
> ok 14369 prefer-template invalid var foo = 'aaa' + aaa; var bar = 'bbb' + bbb;
> ok 14370 prefer-template invalid var string = (number + 1) + 'px';
> ok 14371 prefer-template invalid var foo = 'bar' + baz + 'qux';
> ok 14372 prefer-template invalid var foo = '0 backslashes: ${bar}' + baz;
> ok 14373 prefer-template invalid var foo = '1 backslash: \${bar}' + baz;
> ok 14374 prefer-template invalid var foo = '2 backslashes: \\${bar}' + baz;
> ok 14375 prefer-template invalid var foo = '3 backslashes: \\\${bar}' + baz;
> ok 14376 prefer-template invalid var foo = bar + 'this is a backtick: `' + baz;
> ok 14377 prefer-template invalid var foo = bar + 'this is a backtick preceded by a backslash: \`' + baz;
> ok 14378 prefer-template invalid var foo = bar + 'this is a backtick preceded by two backslashes: \\`' + baz;
> ok 14379 prefer-template invalid var foo = bar + `${baz}foo`;
> ok 14380 prefer-template invalid var foo = 'favorites: ' + favorites.map(f => {
>     return f.name;
> }) + ';';
> ok 14381 prefer-template invalid var foo = bar + baz + 'qux';
> ok 14382 prefer-template invalid var foo = 'favorites: ' +
>     favorites.map(f => {
>         return f.name;
>     }) +
> ';';
> ok 14383 prefer-template invalid var foo = /* a */ 'bar' /* b */ + /* c */ baz /* d */ + 'qux' /* e */ ;
> ok 14384 prefer-template invalid var foo = bar + ('baz') + 'qux' + (boop);
> ok 14385 prefer-template invalid foo + 'unescapes an escaped single quote in a single-quoted string: \''
> ok 14386 prefer-template invalid foo + "unescapes an escaped double quote in a double-quoted string: \""
> ok 14387 prefer-template invalid foo + 'does not unescape an escaped double quote in a single-quoted string: \"'
> ok 14388 prefer-template invalid foo + "does not unescape an escaped single quote in a double-quoted string: \'"
> ok 14389 prefer-template invalid foo + 'handles unicode escapes correctly: \x27'
> ok 14390 prefer-template invalid foo + 'does not autofix octal escape sequence' + '\033'
> ok 14391 prefer-template invalid foo + '\n other text \033'
> ok 14392 prefer-template invalid foo + '\\033'
> ok 14393 prefer-template invalid foo + '\0'
> ok 14394 quote-props valid ({ '0': 0 })
> ok 14395 quote-props valid ({ 'a': 0 })
> ok 14396 quote-props valid ({ "a": 0 })
> ok 14397 quote-props valid ({ 'null': 0 })
> ok 14398 quote-props valid ({ 'true': 0 })
> ok 14399 quote-props valid ({ 'a-b': 0 })
> ok 14400 quote-props valid ({ 'if': 0 })
> ok 14401 quote-props valid ({ '@': 0 })
> ok 14402 quote-props valid ({ 'a': 0, b(){} })
> ok 14403 quote-props valid ({ [x]: 0 });
> ok 14404 quote-props valid ({ x });
> ok 14405 quote-props valid ({ a: 0, b(){} })
> ok 14406 quote-props valid ({ a: 0, [x]: 1 })
> ok 14407 quote-props valid ({ a: 0, x })
> ok 14408 quote-props valid ({ '@': 0, [x]: 1 })
> ok 14409 quote-props valid ({ '@': 0, x })
> ok 14410 quote-props valid ({ a: 0, b: 0 })
> ok 14411 quote-props valid ({ a: 0, 0: 0 })
> ok 14412 quote-props valid ({ a: 0, true: 0 })
> ok 14413 quote-props valid ({ a: 0, null: 0 })
> ok 14414 quote-props valid ({ a: 0, if: 0 })
> ok 14415 quote-props valid ({ a: 0, while: 0 })
> ok 14416 quote-props valid ({ a: 0, volatile: 0 })
> ok 14417 quote-props valid ({ a: 0, '-b': 0 })
> ok 14418 quote-props valid ({ a: 0, '@': 0 })
> ok 14419 quote-props valid ({ a: 0, '0x0': 0 })
> ok 14420 quote-props valid ({ ' 0': 0, '0x0': 0 })
> ok 14421 quote-props valid ({ '0 ': 0 })
> ok 14422 quote-props valid ({ 'hey//meh': 0 })
> ok 14423 quote-props valid ({ 'hey/*meh': 0 })
> ok 14424 quote-props valid ({ 'hey/*meh*/': 0 })
> ok 14425 quote-props valid ({ 'a': 0, '-b': 0 })
> ok 14426 quote-props valid ({ 'true': 0, 'b': 0 })
> ok 14427 quote-props valid ({ null: 0, a: 0 })
> ok 14428 quote-props valid ({ a: 0, b: 0 })
> ok 14429 quote-props valid ({ 'a': 1, [x]: 0 });
> ok 14430 quote-props valid ({ 'a': 1, x });
> ok 14431 quote-props valid ({ a: 0, b: 0 })
> ok 14432 quote-props valid ({ a: 0, null: 0 })
> ok 14433 quote-props valid ({ 'a': 0, '-b': 0 })
> ok 14434 quote-props valid ({ '@': 0, 'B': 0 })
> ok 14435 quote-props valid ({ 'while': 0, 'B': 0 })
> ok 14436 quote-props valid ({ '@': 0, 'B': 0 })
> ok 14437 quote-props valid ({ '@': 1, [x]: 0 });
> ok 14438 quote-props valid ({ '@': 1, x });
> ok 14439 quote-props valid ({ a: 1, [x]: 0 });
> ok 14440 quote-props valid ({ a: 1, x });
> ok 14441 quote-props valid ({ a: 0, 'if': 0 })
> ok 14442 quote-props valid ({ a: 0, 'while': 0 })
> ok 14443 quote-props valid ({ a: 0, 'volatile': 0 })
> ok 14444 quote-props valid ({'unnecessary': 1, 'if': 0})
> ok 14445 quote-props valid ({'1': 1})
> ok 14446 quote-props valid ({1: 1, x: 2})
> ok 14447 quote-props valid ({1: 1, x: 2})
> ok 14448 quote-props valid ({ ...x })
> ok 14449 quote-props valid ({ ...x })
> ok 14450 quote-props valid ({ ...x })
> ok 14451 quote-props invalid ({ a: 0 })
> ok 14452 quote-props invalid ({ 0: '0' })
> ok 14453 quote-props invalid ({ 'a': 0 })
> ok 14454 quote-props invalid ({ 'null': 0 })
> ok 14455 quote-props invalid ({ 'true': 0 })
> ok 14456 quote-props invalid ({ '0': 0 })
> ok 14457 quote-props invalid ({ '-a': 0, b: 0 })
> ok 14458 quote-props invalid ({ a: 0, 'b': 0 })
> ok 14459 quote-props invalid ({ '-a': 0, b: 0 })
> ok 14460 quote-props invalid ({ 'a': 0, 'b': 0 })
> ok 14461 quote-props invalid ({ 'a': 0, [x]: 0 })
> ok 14462 quote-props invalid ({ 'a': 0, x })
> ok 14463 quote-props invalid ({ 'true': 0, 'null': 0 })
> ok 14464 quote-props invalid ({ true: 0, 'null': 0 })
> ok 14465 quote-props invalid ({ 'a': 0, 'b': 0 })
> ok 14466 quote-props invalid ({ while: 0, b: 0 })
> ok 14467 quote-props invalid ({ while: 0, 'b': 0 })
> ok 14468 quote-props invalid ({ foo: 0, 'bar': 0 })
> ok 14469 quote-props invalid ({
>   /* a */ 'prop1' /* b */ : /* c */ value1 /* d */ ,
>   /* e */ prop2 /* f */ : /* g */ value2 /* h */,
>   /* i */ "prop3" /* j */ : /* k */ value3 /* l */
> })
> ok 14470 quote-props invalid ({
>   /* a */ "foo" /* b */ : /* c */ value1 /* d */ ,
>   /* e */ "bar" /* f */ : /* g */ value2 /* h */,
>   /* i */ "baz" /* j */ : /* k */ value3 /* l */
> })
> ok 14471 quote-props invalid ({'if': 0})
> ok 14472 quote-props invalid ({'synchronized': 0})
> ok 14473 quote-props invalid ({while: 0})
> ok 14474 quote-props invalid ({'unnecessary': 1, if: 0})
> ok 14475 quote-props invalid ({1: 1})
> ok 14476 quote-props invalid ({1: 1})
> ok 14477 quote-props invalid ({0x123: 1})
> ok 14478 quote-props invalid ({1e2: 1})
> ok 14479 quote-props invalid ({5.: 1})
> ok 14480 quotes valid var foo = "bar";
> ok 14481 quotes valid var foo = 'bar';
> ok 14482 quotes valid var foo = "bar";
> ok 14483 quotes valid var foo = 1;
> ok 14484 quotes valid var foo = 1;
> ok 14485 quotes valid var foo = "'";
> ok 14486 quotes valid var foo = '"';
> ok 14487 quotes valid var foo = <>Hello world</>;
> ok 14488 quotes valid var foo = <>Hello world</>;
> ok 14489 quotes valid var foo = <>Hello world</>;
> ok 14490 quotes valid var foo = <>Hello world</>;
> ok 14491 quotes valid var foo = <div>Hello world</div>;
> ok 14492 quotes valid var foo = <div id="foo"></div>;
> ok 14493 quotes valid var foo = <div>Hello world</div>;
> ok 14494 quotes valid var foo = <div>Hello world</div>;
> ok 14495 quotes valid var foo = `bar`;
> ok 14496 quotes valid var foo = `bar 'baz'`;
> ok 14497 quotes valid var foo = `bar "baz"`;
> ok 14498 quotes valid var foo = 1;
> ok 14499 quotes valid var foo = "a string containing `backtick` quotes";
> ok 14500 quotes valid var foo = <div id="foo"></div>;
> ok 14501 quotes valid var foo = <div>Hello world</div>;
> ok 14502 quotes valid var foo = `back
> tick`;
> ok 14503 quotes valid var foo = `back
> tick`;
> ok 14504 quotes valid var foo = `back
tick`;
> ok 14505 quotes valid var foo = `back
tick`;
> ok 14506 quotes valid var foo = `back\\
> tick`;
> ok 14507 quotes valid var foo = `back\\\\
> tick`;
> ok 14508 quotes valid var foo = `
> `;
> ok 14509 quotes valid var foo = `back${x}tick`;
> ok 14510 quotes valid var foo = tag`backtick`;
> ok 14511 quotes valid var foo = `bar 'foo' baz` + 'bar';
> ok 14512 quotes valid var foo = `bar 'foo' baz` + "bar";
> ok 14513 quotes valid var foo = `bar 'foo' baz` + `bar`;
> ok 14514 quotes valid "use strict"; var foo = `backtick`;
> ok 14515 quotes valid "use strict"; 'use strong'; "use asm"; var foo = `backtick`;
> ok 14516 quotes valid function foo() { "use strict"; "use strong"; "use asm"; var foo = `backtick`; }
> ok 14517 quotes valid (function() { 'use strict'; 'use strong'; 'use asm'; var foo = `backtick`; })();
> ok 14518 quotes valid (() => { "use strict"; "use strong"; "use asm"; var foo = `backtick`; })();
> ok 14519 quotes valid import "a"; import 'b';
> ok 14520 quotes valid import a from "a"; import b from 'b';
> ok 14521 quotes valid export * from "a"; export * from 'b';
> ok 14522 quotes valid var obj = {"key0": 0, 'key1': 1};
> ok 14523 quotes valid class Foo { 'bar'(){} }
> ok 14524 quotes valid class Foo { static ''(){} }
> ok 14525 quotes invalid var foo = 'bar';
> ok 14526 quotes invalid var foo = "bar";
> ok 14527 quotes invalid var foo = `bar`;
> ok 14528 quotes invalid var foo = 'don\'t';
> ok 14529 quotes invalid var msg = "Plugin '" + name + "' not found"
> ok 14530 quotes invalid var foo = 'bar';
> ok 14531 quotes invalid var foo = `bar`;
> ok 14532 quotes invalid var foo = "bar";
> ok 14533 quotes invalid var foo = 'bar';
> ok 14534 quotes invalid var foo = '\\';
> ok 14535 quotes invalid var foo = "bar";
> ok 14536 quotes invalid var foo = 'bar';
> ok 14537 quotes invalid var foo = 'bar';
> ok 14538 quotes invalid var foo = 'b${x}a$r';
> ok 14539 quotes invalid var foo = "bar";
> ok 14540 quotes invalid var foo = "bar";
> ok 14541 quotes invalid var foo = 'bar';
> ok 14542 quotes invalid var foo = `backtick`; "use strict";
> ok 14543 quotes invalid { "use strict"; var foo = `backtick`; }
> ok 14544 quotes invalid if (1) { "use strict"; var foo = `backtick`; }
> ok 14545 quotes invalid var obj = {["key0"]: 0, ['key1']: 1};
> ok 14546 quotes invalid class Foo { ['a'](){} static ['b'](){} }
> ok 14547 quotes invalid <div blah={"blah"} />
> ok 14548 quotes invalid <div blah={'blah'} />
> ok 14549 quotes invalid <div blah={'blah'} />
> ok 14550 quotes invalid `use strict`;
> ok 14551 quotes invalid function foo() { `use strict`; foo(); }
> ok 14552 quotes invalid foo = function() { `use strict`; foo(); }
> ok 14553 quotes invalid () => { `use strict`; foo(); }
> ok 14554 quotes invalid () => { foo(); `use strict`; }
> ok 14555 quotes invalid foo(); `use strict`;
> ok 14556 quotes invalid var foo = `foo\nbar`;
> ok 14557 quotes invalid var foo = `foo\
> bar`;
> ok 14558 quotes invalid var foo = `foo\\\
> bar`;
> ok 14559 quotes invalid ````
> ok 14560 radix valid parseInt("10", 10);
> ok 14561 radix valid parseInt("10", foo);
> ok 14562 radix valid Number.parseInt("10", foo);
> ok 14563 radix valid parseInt("10", 10);
> ok 14564 radix valid parseInt("10");
> ok 14565 radix valid parseInt("10", 8);
> ok 14566 radix valid parseInt("10", foo);
> ok 14567 radix valid parseInt
> ok 14568 radix valid Number.foo();
> ok 14569 radix valid Number[parseInt]();
> ok 14570 radix valid var parseInt; parseInt();
> ok 14571 radix valid var parseInt; parseInt(foo);
> ok 14572 radix valid var parseInt; parseInt(foo, 10);
> ok 14573 radix valid var Number; Number.parseInt();
> ok 14574 radix valid var Number; Number.parseInt(foo);
> ok 14575 radix valid var Number; Number.parseInt(foo, 10);
> ok 14576 radix invalid parseInt();
> ok 14577 radix invalid parseInt();
> ok 14578 radix invalid parseInt("10");
> ok 14579 radix invalid parseInt("10", null);
> ok 14580 radix invalid parseInt("10", undefined);
> ok 14581 radix invalid parseInt("10", true);
> ok 14582 radix invalid parseInt("10", "foo");
> ok 14583 radix invalid parseInt("10", "123");
> ok 14584 radix invalid Number.parseInt();
> ok 14585 radix invalid Number.parseInt();
> ok 14586 radix invalid Number.parseInt("10");
> ok 14587 radix invalid parseInt("10", 10);
> ok 14588 require-atomic-updates valid let foo; async function x() { foo += bar; }
> ok 14589 require-atomic-updates valid let foo; async function x() { foo = foo + bar; }
> ok 14590 require-atomic-updates valid let foo; async function x() { foo = await bar + foo; }
> ok 14591 require-atomic-updates valid async function x() { let foo; foo += await bar; }
> ok 14592 require-atomic-updates valid let foo; async function x() { foo = (await result)(foo); }
> ok 14593 require-atomic-updates valid let foo; async function x() { foo = bar(await something, foo) }
> ok 14594 require-atomic-updates valid function* x() { let foo; foo += yield bar; }
> ok 14595 require-atomic-updates valid const foo = {}; async function x() { foo.bar = await baz; }
> ok 14596 require-atomic-updates valid const foo = []; async function x() { foo[x] += 1;  }
> ok 14597 require-atomic-updates valid let foo; function* x() { foo = bar + foo; }
> ok 14598 require-atomic-updates valid async function x() { let foo; bar(() => baz += 1); foo += await amount; }
> ok 14599 require-atomic-updates valid let foo; async function x() { foo = condition ? foo : await bar; }
> ok 14600 require-atomic-updates valid async function x() { let foo; bar(() => { let foo; blah(foo); }); foo += await result; }
> ok 14601 require-atomic-updates valid let foo; async function x() { foo = foo + 1; await bar; }
> ok 14602 require-atomic-updates valid 
>             async function foo() {
>                 if (1);
>                 if (2);
>                 if (3);
>                 if (4);
>                 if (5);
>                 if (6);
>                 if (7);
>                 if (8);
>                 if (9);
>                 if (10);
>                 if (11);
>                 if (12);
>                 if (13);
>                 if (14);
>                 if (15);
>                 if (16);
>                 if (17);
>                 if (18);
>                 if (19);
>                 if (20);
>             }
>         
> ok 14603 require-atomic-updates valid 
>             async function foo() {
>                 return [
>                     1 ? a : b,
>                     2 ? a : b,
>                     3 ? a : b,
>                     4 ? a : b,
>                     5 ? a : b,
>                     6 ? a : b,
>                     7 ? a : b,
>                     8 ? a : b,
>                     9 ? a : b,
>                     10 ? a : b,
>                     11 ? a : b,
>                     12 ? a : b,
>                     13 ? a : b,
>                     14 ? a : b,
>                     15 ? a : b,
>                     16 ? a : b,
>                     17 ? a : b,
>                     18 ? a : b,
>                     19 ? a : b,
>                     20 ? a : b
>                 ];
>             }
>         
> ok 14604 require-atomic-updates invalid let foo; async function x() { foo += await amount; }
> ok 14605 require-atomic-updates invalid if (1); let foo; async function x() { foo += await amount; }
> ok 14606 require-atomic-updates invalid let foo; async function x() { while (condition) { foo += await amount; } }
> ok 14607 require-atomic-updates invalid let foo; async function x() { foo = foo + await amount; }
> ok 14608 require-atomic-updates invalid let foo; async function x() { foo = foo + (bar ? baz : await amount); }
> ok 14609 require-atomic-updates invalid let foo; async function x() { foo = foo + (bar ? await amount : baz); }
> ok 14610 require-atomic-updates invalid let foo; async function x() { foo = condition ? foo + await amount : somethingElse; }
> ok 14611 require-atomic-updates invalid let foo; async function x() { foo = (condition ? foo : await bar) + await bar; }
> ok 14612 require-atomic-updates invalid let foo; async function x() { foo += bar + await amount; }
> ok 14613 require-atomic-updates invalid async function x() { let foo; bar(() => foo); foo += await amount; }
> ok 14614 require-atomic-updates invalid let foo; function* x() { foo += yield baz }
> ok 14615 require-atomic-updates invalid let foo; async function x() { foo = bar(foo, await something) }
> ok 14616 require-atomic-updates invalid const foo = {}; async function x() { foo.bar += await baz }
> ok 14617 require-atomic-updates invalid const foo = []; async function x() { foo[bar].baz += await result;  }
> ok 14618 require-atomic-updates invalid let foo; async function* x() { foo = (yield foo) + await bar; }
> ok 14619 require-atomic-updates invalid let foo; async function x() { foo = foo + await result(foo); }
> ok 14620 require-atomic-updates invalid let foo; async function x() { foo = await result(foo, await somethingElse); }
> ok 14621 require-atomic-updates invalid function* x() { let foo; yield async function y() { foo += await bar; } }
> ok 14622 require-atomic-updates invalid let foo; async function* x() { foo = await foo + (yield bar); }
> ok 14623 require-atomic-updates invalid let foo; async function x() { foo = bar + await foo; }
> ok 14624 require-atomic-updates invalid let foo = {}; async function x() { foo[bar].baz = await (foo.bar += await foo[bar].baz) }
> ok 14625 require-atomic-updates invalid async function x() { foo += await bar; }
> ok 14626 require-atomic-updates invalid let foo = 0; async function x() { foo = (a ? b : foo) + await bar; if (baz); }
> ok 14627 require-atomic-updates invalid let foo = 0; async function x() { foo = (a ? b ? c ? d ? foo : e : f : g : h) + await bar; if (baz); }
> ok 14628 require-jsdoc valid var array = [1,2,3];
> array.forEach(function() {});
> ok 14629 require-jsdoc valid /**
>  @class MyClass 
> */
> function MyClass() {}
> ok 14630 require-jsdoc valid /**
>  Function doing something
> */
> function myFunction() {}
> ok 14631 require-jsdoc valid /**
>  Function doing something
> */
> var myFunction = function() {};
> ok 14632 require-jsdoc valid /**
>  Function doing something
> */
> Object.myFunction = function () {};
> ok 14633 require-jsdoc valid var obj = { 
>  /**
>  Function doing something
> */
>  myFunction: function () {} };
> ok 14634 require-jsdoc valid /**
>  @func myFunction 
> */
> function myFunction() {}
> ok 14635 require-jsdoc valid /**
>  @method myFunction
> */
> function myFunction() {}
> ok 14636 require-jsdoc valid /**
>  @function myFunction
> */
> function myFunction() {}
> ok 14637 require-jsdoc valid /**
>  @func myFunction 
> */
> var myFunction = function () {}
> ok 14638 require-jsdoc valid /**
>  @method myFunction
> */
> var myFunction = function () {}
> ok 14639 require-jsdoc valid /**
>  @function myFunction
> */
> var myFunction = function () {}
> ok 14640 require-jsdoc valid /**
>  @func myFunction 
> */
> Object.myFunction = function() {}
> ok 14641 require-jsdoc valid /**
>  @method myFunction
> */
> Object.myFunction = function() {}
> ok 14642 require-jsdoc valid /**
>  @function myFunction
> */
> Object.myFunction = function() {}
> ok 14643 require-jsdoc valid (function(){})();
> ok 14644 require-jsdoc valid var object = {
> /**
>  @func myFunction - Some function 
> */
> myFunction: function() {} }
> ok 14645 require-jsdoc valid var object = {
> /**
>  @method myFunction - Some function 
> */
> myFunction: function() {} }
> ok 14646 require-jsdoc valid var object = {
> /**
>  @function myFunction - Some function 
> */
> myFunction: function() {} }
> ok 14647 require-jsdoc valid var array = [1,2,3];
> array.filter(function() {});
> ok 14648 require-jsdoc valid Object.keys(this.options.rules || {}).forEach(function(name) {}.bind(this));
> ok 14649 require-jsdoc valid var object = { name: 'key'};
> Object.keys(object).forEach(function() {})
> ok 14650 require-jsdoc valid function myFunction() {}
> ok 14651 require-jsdoc valid var myFunction = function() {}
> ok 14652 require-jsdoc valid /**
>  * Description for A.
>  */
> class A {
>     /**
>      * Description for constructor.
>      * @param {object[]} xs - xs
>      */
>     constructor(xs) {
>         this.a = xs;    }
> }
> ok 14653 require-jsdoc valid /**
>  * Description for A.
>  */
> class App extends Component {
>     /**
>      * Description for constructor.
>      * @param {object[]} xs - xs
>      */
>     constructor(xs) {
>         this.a = xs;    }
> }
> ok 14654 require-jsdoc valid /**
>  * Description for A.
>  */
> export default class App extends Component {
>     /**
>      * Description for constructor.
>      * @param {object[]} xs - xs
>      */
>     constructor(xs) {
>         this.a = xs;    }
> }
> ok 14655 require-jsdoc valid /**
>  * Description for A.
>  */
> export class App extends Component {
>     /**
>      * Description for constructor.
>      * @param {object[]} xs - xs
>      */
>     constructor(xs) {
>         this.a = xs;    }
> }
> ok 14656 require-jsdoc valid class A {
>     constructor(xs) {
>         this.a = xs;    }
> }
> ok 14657 require-jsdoc valid /**
>  Function doing something
> */
> var myFunction = () => {}
> ok 14658 require-jsdoc valid /**
>  Function doing something
> */
> var myFunction = () => () => {}
> ok 14659 require-jsdoc valid setTimeout(() => {}, 10);
> ok 14660 require-jsdoc valid /**
> JSDoc Block
> */
> var foo = function() {}
> ok 14661 require-jsdoc valid const foo = {/**
> JSDoc Block
> */
> bar() {}}
> ok 14662 require-jsdoc valid var foo = {/**
> JSDoc Block
> */
> bar: function() {}}
> ok 14663 require-jsdoc valid  var foo = { [function() {}]: 1 };
> ok 14664 require-jsdoc invalid function myFunction() {}
> ok 14665 require-jsdoc invalid /**
>  * Description for A.
>  */
> class A {
>     constructor(xs) {
>         this.a = xs;    }
> }
> ok 14666 require-jsdoc invalid class A {
>     /**
>      * Description for constructor.
>      * @param {object[]} xs - xs
>      */
>     constructor(xs) {
>         this.a = xs;    }
> }
> ok 14667 require-jsdoc invalid class A extends B {
>     /**
>      * Description for constructor.
>      * @param {object[]} xs - xs
>      */
>     constructor(xs) {
>         this.a = xs;    }
> }
> ok 14668 require-jsdoc invalid export class A extends B {
>     /**
>      * Description for constructor.
>      * @param {object[]} xs - xs
>      */
>     constructor(xs) {
>         this.a = xs;    }
> }
> ok 14669 require-jsdoc invalid export default class A extends B {
>     /**
>      * Description for constructor.
>      * @param {object[]} xs - xs
>      */
>     constructor(xs) {
>         this.a = xs;    }
> }
> ok 14670 require-jsdoc invalid var myFunction = () => {}
> ok 14671 require-jsdoc invalid var myFunction = () => () => {}
> ok 14672 require-jsdoc invalid var foo = function() {}
> ok 14673 require-jsdoc invalid const foo = {bar() {}}
> ok 14674 require-jsdoc invalid var foo = {bar: function() {}}
> ok 14675 require-unicode-regexp valid /foo/u
> ok 14676 require-unicode-regexp valid /foo/gimuy
> ok 14677 require-unicode-regexp valid RegExp('', 'u')
> ok 14678 require-unicode-regexp valid new RegExp('', 'u')
> ok 14679 require-unicode-regexp valid RegExp('', 'gimuy')
> ok 14680 require-unicode-regexp valid new RegExp('', 'gimuy')
> ok 14681 require-unicode-regexp valid const flags = 'u'; new RegExp('', flags)
> ok 14682 require-unicode-regexp valid const flags = 'g'; new RegExp('', flags + 'u')
> ok 14683 require-unicode-regexp valid const flags = 'gimu'; new RegExp('foo', flags[3])
> ok 14684 require-unicode-regexp valid new RegExp('', flags)
> ok 14685 require-unicode-regexp valid function f(flags) { return new RegExp('', flags) }
> ok 14686 require-unicode-regexp valid function f(RegExp) { return new RegExp('foo') }
> ok 14687 require-unicode-regexp invalid /foo/
> ok 14688 require-unicode-regexp invalid /foo/gimy
> ok 14689 require-unicode-regexp invalid RegExp('foo')
> ok 14690 require-unicode-regexp invalid RegExp('foo', '')
> ok 14691 require-unicode-regexp invalid RegExp('foo', 'gimy')
> ok 14692 require-unicode-regexp invalid new RegExp('foo')
> ok 14693 require-unicode-regexp invalid new RegExp('foo', '')
> ok 14694 require-unicode-regexp invalid new RegExp('foo', 'gimy')
> ok 14695 require-unicode-regexp invalid const flags = 'gi'; new RegExp('foo', flags)
> ok 14696 require-unicode-regexp invalid const flags = 'gimu'; new RegExp('foo', flags[0])
> ok 14697 require-unicode-regexp invalid new window.RegExp('foo')
> ok 14698 require-unicode-regexp invalid new global.RegExp('foo')
> ok 14699 require-yield valid function foo() { return 0; }
> ok 14700 require-yield valid function* foo() { yield 0; }
> ok 14701 require-yield valid function* foo() { }
> ok 14702 require-yield valid (function* foo() { yield 0; })();
> ok 14703 require-yield valid (function* foo() { })();
> ok 14704 require-yield valid var obj = { *foo() { yield 0; } };
> ok 14705 require-yield valid var obj = { *foo() { } };
> ok 14706 require-yield valid class A { *foo() { yield 0; } };
> ok 14707 require-yield valid class A { *foo() { } };
> ok 14708 require-yield invalid function* foo() { return 0; }
> ok 14709 require-yield invalid (function* foo() { return 0; })();
> ok 14710 require-yield invalid var obj = { *foo() { return 0; } }
> ok 14711 require-yield invalid class A { *foo() { return 0; } }
> ok 14712 require-yield invalid function* foo() { function* bar() { yield 0; } }
> ok 14713 require-yield invalid function* foo() { function* bar() { return 0; } yield 0; }
> ok 14714 rest-spread-spacing valid fn(...args)
> ok 14715 rest-spread-spacing valid fn(...(args))
> ok 14716 rest-spread-spacing valid fn(...( args ))
> ok 14717 rest-spread-spacing valid fn(...args)
> ok 14718 rest-spread-spacing valid fn(... args)
> ok 14719 rest-spread-spacing valid fn(...	args)
> ok 14720 rest-spread-spacing valid fn(...
> args)
> ok 14721 rest-spread-spacing valid [...arr, 4, 5, 6]
> ok 14722 rest-spread-spacing valid [...(arr), 4, 5, 6]
> ok 14723 rest-spread-spacing valid [...( arr ), 4, 5, 6]
> ok 14724 rest-spread-spacing valid [...arr, 4, 5, 6]
> ok 14725 rest-spread-spacing valid [... arr, 4, 5, 6]
> ok 14726 rest-spread-spacing valid [...	arr, 4, 5, 6]
> ok 14727 rest-spread-spacing valid [...
> arr, 4, 5, 6]
> ok 14728 rest-spread-spacing valid let [a, b, ...arr] = [1, 2, 3, 4, 5];
> ok 14729 rest-spread-spacing valid let [a, b, ...arr] = [1, 2, 3, 4, 5];
> ok 14730 rest-spread-spacing valid let [a, b, ... arr] = [1, 2, 3, 4, 5];
> ok 14731 rest-spread-spacing valid let [a, b, ...	arr] = [1, 2, 3, 4, 5];
> ok 14732 rest-spread-spacing valid let [a, b, ...
> arr] = [1, 2, 3, 4, 5];
> ok 14733 rest-spread-spacing valid let n = { x, y, ...z };
> ok 14734 rest-spread-spacing valid let n = { x, y, ...(z) };
> ok 14735 rest-spread-spacing valid let n = { x, y, ...( z ) };
> ok 14736 rest-spread-spacing valid let n = { x, y, ...z };
> ok 14737 rest-spread-spacing valid let n = { x, y, ... z };
> ok 14738 rest-spread-spacing valid let n = { x, y, ...	z };
> ok 14739 rest-spread-spacing valid let n = { x, y, ...
> z };
> ok 14740 rest-spread-spacing valid let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
> ok 14741 rest-spread-spacing valid let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
> ok 14742 rest-spread-spacing valid let { x, y, ... z } = { x: 1, y: 2, a: 3, b: 4 };
> ok 14743 rest-spread-spacing valid let { x, y, ...	z } = { x: 1, y: 2, a: 3, b: 4 };
> ok 14744 rest-spread-spacing valid let { x, y, ...
> z } = { x: 1, y: 2, a: 3, b: 4 };
> ok 14745 rest-spread-spacing invalid fn(... args)
> ok 14746 rest-spread-spacing invalid fn(...	args)
> ok 14747 rest-spread-spacing invalid fn(...
> args)
> ok 14748 rest-spread-spacing invalid fn(... args)
> ok 14749 rest-spread-spacing invalid fn(...	args)
> ok 14750 rest-spread-spacing invalid fn(...
> args)
> ok 14751 rest-spread-spacing invalid fn(...args)
> ok 14752 rest-spread-spacing invalid fn(... (args))
> ok 14753 rest-spread-spacing invalid fn(... ( args ))
> ok 14754 rest-spread-spacing invalid fn(...(args))
> ok 14755 rest-spread-spacing invalid fn(...( args ))
> ok 14756 rest-spread-spacing invalid [... arr, 4, 5, 6]
> ok 14757 rest-spread-spacing invalid [...	arr, 4, 5, 6]
> ok 14758 rest-spread-spacing invalid [...
> arr, 4, 5, 6]
> ok 14759 rest-spread-spacing invalid [... arr, 4, 5, 6]
> ok 14760 rest-spread-spacing invalid [...	arr, 4, 5, 6]
> ok 14761 rest-spread-spacing invalid [...
> arr, 4, 5, 6]
> ok 14762 rest-spread-spacing invalid [...arr, 4, 5, 6]
> ok 14763 rest-spread-spacing invalid [... (arr), 4, 5, 6]
> ok 14764 rest-spread-spacing invalid [... ( arr ), 4, 5, 6]
> ok 14765 rest-spread-spacing invalid [...(arr), 4, 5, 6]
> ok 14766 rest-spread-spacing invalid [...( arr ), 4, 5, 6]
> ok 14767 rest-spread-spacing invalid let [a, b, ... arr] = [1, 2, 3, 4, 5];
> ok 14768 rest-spread-spacing invalid let [a, b, ...	arr] = [1, 2, 3, 4, 5];
> ok 14769 rest-spread-spacing invalid let [a, b, ...
> arr] = [1, 2, 3, 4, 5];
> ok 14770 rest-spread-spacing invalid let [a, b, ... arr] = [1, 2, 3, 4, 5];
> ok 14771 rest-spread-spacing invalid let [a, b, ...	arr] = [1, 2, 3, 4, 5];
> ok 14772 rest-spread-spacing invalid let [a, b, ...
> arr] = [1, 2, 3, 4, 5];
> ok 14773 rest-spread-spacing invalid let [a, b, ...arr] = [1, 2, 3, 4, 5];
> ok 14774 rest-spread-spacing invalid let n = { x, y, ... z };
> ok 14775 rest-spread-spacing invalid let n = { x, y, ...	z };
> ok 14776 rest-spread-spacing invalid let n = { x, y, ...
> z };
> ok 14777 rest-spread-spacing invalid let n = { x, y, ... z };
> ok 14778 rest-spread-spacing invalid let n = { x, y, ...	z };
> ok 14779 rest-spread-spacing invalid let n = { x, y, ...
> z };
> ok 14780 rest-spread-spacing invalid let n = { x, y, ...z };
> ok 14781 rest-spread-spacing invalid let n = { x, y, ... (z) };
> ok 14782 rest-spread-spacing invalid let n = { x, y, ... ( z ) };
> ok 14783 rest-spread-spacing invalid let n = { x, y, ...(z) };
> ok 14784 rest-spread-spacing invalid let n = { x, y, ...( z ) };
> ok 14785 rest-spread-spacing invalid let { x, y, ... z } = { x: 1, y: 2, a: 3, b: 4 };
> ok 14786 rest-spread-spacing invalid let { x, y, ...	z } = { x: 1, y: 2, a: 3, b: 4 };
> ok 14787 rest-spread-spacing invalid let { x, y, ...
> z } = { x: 1, y: 2, a: 3, b: 4 };
> ok 14788 rest-spread-spacing invalid let { x, y, ... z } = { x: 1, y: 2, a: 3, b: 4 };
> ok 14789 rest-spread-spacing invalid let { x, y, ...	z } = { x: 1, y: 2, a: 3, b: 4 };
> ok 14790 rest-spread-spacing invalid let { x, y, ...
> z } = { x: 1, y: 2, a: 3, b: 4 };
> ok 14791 rest-spread-spacing invalid let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
> ok 14792 semi-spacing valid var a = 'b';
> ok 14793 semi-spacing valid var a = 'b ; c';
> ok 14794 semi-spacing valid var a = 'b',
> c = 'd';
> ok 14795 semi-spacing valid var a = function() {};
> ok 14796 semi-spacing valid ;(function(){}());
> ok 14797 semi-spacing valid var a = 'b'
> ;(function(){}())
> ok 14798 semi-spacing valid debugger
> ;(function(){}())
> ok 14799 semi-spacing valid while (true) { break; }
> ok 14800 semi-spacing valid while (true) { continue; }
> ok 14801 semi-spacing valid debugger;
> ok 14802 semi-spacing valid function foo() { return; }
> ok 14803 semi-spacing valid throw new Error('foo');
> ok 14804 semi-spacing valid for (var i = 0; i < 10; i++) {}
> ok 14805 semi-spacing valid for (;;) {}
> ok 14806 semi-spacing valid var a = 'b' ;
> ok 14807 semi-spacing valid var a = 'b';c = 'd';
> ok 14808 semi-spacing valid for (var i = 0 ;i < 10 ;i++) {}
> ok 14809 semi-spacing valid for (var i = 0 ; i < 10 ; i++) {}
> ok 14810 semi-spacing valid function foo(){return 2;}
> ok 14811 semi-spacing valid for(var i = 0; i < results.length;) {}
> ok 14812 semi-spacing valid function foo() { return 2; }
> ok 14813 semi-spacing valid for ( var i = 0;i < results.length; ) {}
> ok 14814 semi-spacing invalid var a = 'b' ;
> ok 14815 semi-spacing invalid var a = 'b',
> c = 'd' ;
> ok 14816 semi-spacing invalid var a = function() {} ;
> ok 14817 semi-spacing invalid var a = function() {
> } ;
> ok 14818 semi-spacing invalid /^a$/.test('b') ;
> ok 14819 semi-spacing invalid ;(function(){}()) ;
> ok 14820 semi-spacing invalid while (true) { break ; }
> ok 14821 semi-spacing invalid while (true) { continue ; }
> ok 14822 semi-spacing invalid debugger ;
> ok 14823 semi-spacing invalid function foo() { return ; }
> ok 14824 semi-spacing invalid throw new Error('foo') ;
> ok 14825 semi-spacing invalid for (var i = 0 ; i < 10 ; i++) {}
> ok 14826 semi-spacing invalid var a = 'b';c = 'd';
> ok 14827 semi-spacing invalid var a = 'b';
> ok 14828 semi-spacing invalid var a = 'b'; c = 'd';
> ok 14829 semi-spacing invalid for (var i = 0;i < 10;i++) {}
> ok 14830 semi-spacing invalid for (var i = 0; i < 10; i++) {}
> ok 14831 semi-spacing invalid for (var i = 0; i < 10; i++) {}
> ok 14832 semi-spacing invalid import Foo from 'bar' ;
> ok 14833 semi-spacing invalid import * as foo from 'bar' ;
> ok 14834 semi-spacing invalid var foo = 0; export {foo} ;
> ok 14835 semi-spacing invalid export * from 'foo' ;
> ok 14836 semi-spacing invalid export default foo ;
> ok 14837 semi-style valid ;
> ok 14838 semi-style valid ;foo;bar;baz;
> ok 14839 semi-style valid foo;
> bar;
> ok 14840 semi-style valid for(a;b;c);
> ok 14841 semi-style valid for(a;
> b;
> c);
> ok 14842 semi-style valid for((a
> );
> (b
> );
> (c));
> ok 14843 semi-style valid if(a)foo;
> bar
> ok 14844 semi-style valid ;
> ok 14845 semi-style valid ;foo;bar;baz;
> ok 14846 semi-style valid foo;
> bar;
> ok 14847 semi-style valid for(a;b;c);
> ok 14848 semi-style valid for(a;
> b;
> c);
> ok 14849 semi-style valid for((a
> );
> (b
> );
> (c));
> ok 14850 semi-style valid if(a)foo;
> bar
> ok 14851 semi-style valid ;
> ok 14852 semi-style valid ;foo;bar;baz;
> ok 14853 semi-style valid foo
> ;bar;
> ok 14854 semi-style valid for(a;b;c);
> ok 14855 semi-style valid for(a;
> b;
> c);
> ok 14856 semi-style valid for((a
> );
> (b
> );
> (c));
> ok 14857 semi-style valid 
>                 {
>                     ;
>                 }
>             
> ok 14858 semi-style valid 
>                 while (a)
>                     ;
>                 foo
>             
> ok 14859 semi-style valid 
>                 do
>                     ;
>                 while (a)
>             
> ok 14860 semi-style valid 
>                 do
>                     foo;
>                 while (a)
>             
> ok 14861 semi-style valid 
>                 if (a)
>                     foo;
>                 else
>                     bar
>             
> ok 14862 semi-style valid 
>                 if (a)
>                     foo
>                 ;bar
>             
> ok 14863 semi-style valid 
>                 {
>                     ;
>                 }
>             
> ok 14864 semi-style valid 
>                 switch (a) {
>                     case 1:
>                         ;foo
>                 }
>             
> ok 14865 semi-style valid 
>                 while (a)
>                     ;
>                 foo
>             
> ok 14866 semi-style valid 
>                 do
>                     ;
>                 while (a)
>             
> ok 14867 semi-style invalid foo
> ;bar
> ok 14868 semi-style invalid if(a)foo
> ;bar
> ok 14869 semi-style invalid var foo
> ;bar
> ok 14870 semi-style invalid foo
> ;
> bar
> ok 14871 semi-style invalid for(a
> ;b;c)d
> ok 14872 semi-style invalid for(a;b
> ;c)d
> ok 14873 semi-style invalid do;while(a)
> ;b
> ok 14874 semi-style invalid foo
> ;bar
> ok 14875 semi-style invalid if(a)foo
> ;bar
> ok 14876 semi-style invalid var foo
> ;bar
> ok 14877 semi-style invalid foo
> ;
> bar
> ok 14878 semi-style invalid for(a
> ;b;c)d
> ok 14879 semi-style invalid for(a;b
> ;c)d
> ok 14880 semi-style invalid foo()
> ;
> ok 14881 semi-style invalid foo;
> bar
> ok 14882 semi-style invalid if(a)foo;
> bar
> ok 14883 semi-style invalid var foo;
> bar
> ok 14884 semi-style invalid foo
> ;
> bar
> ok 14885 semi-style invalid for(a
> ;b;c)d
> ok 14886 semi-style invalid for(a;b
> ;c)d
> ok 14887 semi-style invalid foo
> ;/**/bar
> ok 14888 semi-style invalid foo
> /**/;bar
> ok 14889 semi-style invalid foo;
> /**/bar
> ok 14890 semi-style invalid foo/**/;
> bar
> ok 14891 semi valid var x = 5;
> ok 14892 semi valid var x =5, y;
> ok 14893 semi valid foo();
> ok 14894 semi valid x = foo();
> ok 14895 semi valid setTimeout(function() {foo = "bar"; });
> ok 14896 semi valid setTimeout(function() {foo = "bar";});
> ok 14897 semi valid for (var a in b){}
> ok 14898 semi valid for (var i;;){}
> ok 14899 semi valid if (true) {}
> ;[global, extended].forEach(function(){});
> ok 14900 semi valid throw new Error('foo');
> ok 14901 semi valid throw new Error('foo')
> ok 14902 semi valid var x = 5
> ok 14903 semi valid var x =5, y
> ok 14904 semi valid foo()
> ok 14905 semi valid debugger
> ok 14906 semi valid for (var a in b){}
> ok 14907 semi valid for (var i;;){}
> ok 14908 semi valid x = foo()
> ok 14909 semi valid if (true) {}
> ;[global, extended].forEach(function(){})
> ok 14910 semi valid (function bar() {})
> ;(function foo(){})
> ok 14911 semi valid ;/foo/.test('bar')
> ok 14912 semi valid ;+5
> ok 14913 semi valid ;-foo()
> ok 14914 semi valid a++
> b++
> ok 14915 semi valid a++; b++
> ok 14916 semi valid for (let thing of {}) {
>   console.log(thing);
> }
> ok 14917 semi valid do{}while(true)
> ok 14918 semi valid do{}while(true);
> ok 14919 semi valid if (foo) { bar() }
> ok 14920 semi valid if (foo) { bar(); baz() }
> ok 14921 semi valid class A { a() {} b() {} }
> ok 14922 semi valid var A = class { a() {} b() {} };
> ok 14923 semi valid import theDefault, { named1, named2 } from 'src/mylib';
> ok 14924 semi valid import theDefault, { named1, named2 } from 'src/mylib'
> ok 14925 semi valid export * from 'foo';
> ok 14926 semi valid export { foo } from 'foo';
> ok 14927 semi valid var foo = 0;export { foo };
> ok 14928 semi valid export var foo;
> ok 14929 semi valid export function foo () { }
> ok 14930 semi valid export function* foo () { }
> ok 14931 semi valid export class Foo { }
> ok 14932 semi valid export let foo;
> ok 14933 semi valid export const FOO = 42;
> ok 14934 semi valid export default function() { }
> ok 14935 semi valid export default function* () { }
> ok 14936 semi valid export default class { }
> ok 14937 semi valid export default foo || bar;
> ok 14938 semi valid export default (foo) => foo.bar();
> ok 14939 semi valid export default foo = 42;
> ok 14940 semi valid export default foo += 42;
> ok 14941 semi valid export * from 'foo'
> ok 14942 semi valid export { foo } from 'foo'
> ok 14943 semi valid var foo = 0; export { foo }
> ok 14944 semi valid export var foo
> ok 14945 semi valid export function foo () { }
> ok 14946 semi valid export function* foo () { }
> ok 14947 semi valid export class Foo { }
> ok 14948 semi valid export let foo
> ok 14949 semi valid export const FOO = 42
> ok 14950 semi valid export default function() { }
> ok 14951 semi valid export default function* () { }
> ok 14952 semi valid export default class { }
> ok 14953 semi valid export default foo || bar
> ok 14954 semi valid export default (foo) => foo.bar()
> ok 14955 semi valid export default foo = 42
> ok 14956 semi valid export default foo += 42
> ok 14957 semi valid ++
> foo;
> ok 14958 semi valid var a = b;
> + c
> ok 14959 semi valid var a = b;
> /foo/.test(c)
> ok 14960 semi valid var a = b;
> `foo`
> ok 14961 semi valid 
>                 do; while(a);
>                 [1,2,3].forEach(doSomething)
>             
> ok 14962 semi valid 
>                 do; while(a)
>                 [1,2,3].forEach(doSomething)
>             
> ok 14963 semi valid 
>                 import a from "a";
>                 [1,2,3].forEach(doSomething)
>             
> ok 14964 semi valid 
>                 var a = 0; export {a};
>                 [a] = b
>             
> ok 14965 semi valid 
>                 function wrap() {
>                     return;
>                     ({a} = b)
>                 }
>             
> ok 14966 semi valid 
>                 while (true) {
>                     break;
>                     +i
>                 }
>             
> ok 14967 semi valid 
>                 while (true) {
>                     continue;
>                     [1,2,3].forEach(doSomething)
>                 }
>             
> ok 14968 semi valid 
>                 do; while(a);
>                 [1,2,3].forEach(doSomething)
>             
> ok 14969 semi valid 
>                 const f = () => {};
>                 [1,2,3].forEach(doSomething)
>             
> ok 14970 semi valid 
>                 import a from "a"
>                 [1,2,3].forEach(doSomething)
>             
> ok 14971 semi valid 
>                 var a = 0; export {a}
>                 [a] = b
>             
> ok 14972 semi valid 
>                 function wrap() {
>                     return
>                     ({a} = b)
>                 }
>             
> ok 14973 semi valid 
>                 while (true) {
>                     break
>                     +i
>                 }
>             
> ok 14974 semi valid 
>                 while (true) {
>                     continue
>                     [1,2,3].forEach(doSomething)
>                 }
>             
> ok 14975 semi valid 
>                 do; while(a)
>                 [1,2,3].forEach(doSomething)
>             
> ok 14976 semi valid 
>                 const f = () => {}
>                 [1,2,3].forEach(doSomething)
>             
> ok 14977 semi invalid import * as utils from './utils'
> ok 14978 semi invalid import { square, diag } from 'lib'
> ok 14979 semi invalid import { default as foo } from 'lib'
> ok 14980 semi invalid import 'src/mylib'
> ok 14981 semi invalid import theDefault, { named1, named2 } from 'src/mylib'
> ok 14982 semi invalid function foo() { return [] }
> ok 14983 semi invalid while(true) { break }
> ok 14984 semi invalid while(true) { continue }
> ok 14985 semi invalid let x = 5
> ok 14986 semi invalid var x = 5
> ok 14987 semi invalid var x = 5, y
> ok 14988 semi invalid debugger
> ok 14989 semi invalid foo()
> ok 14990 semi invalid for (var a in b) var i 
> ok 14991 semi invalid for (;;){var i}
> ok 14992 semi invalid for (;;) var i 
> ok 14993 semi invalid for (var j;;) {var i}
> ok 14994 semi invalid var foo = {
>  bar: baz
> }
> ok 14995 semi invalid var foo
> var bar;
> ok 14996 semi invalid throw new Error('foo')
> ok 14997 semi invalid do{}while(true)
> ok 14998 semi invalid throw new Error('foo');
> ok 14999 semi invalid function foo() { return []; }
> ok 15000 semi invalid while(true) { break; }
> ok 15001 semi invalid while(true) { continue; }
> ok 15002 semi invalid let x = 5;
> ok 15003 semi invalid var x = 5;
> ok 15004 semi invalid var x = 5, y;
> ok 15005 semi invalid debugger;
> ok 15006 semi invalid foo();
> ok 15007 semi invalid for (var a in b) var i; 
> ok 15008 semi invalid for (;;){var i;}
> ok 15009 semi invalid for (;;) var i; 
> ok 15010 semi invalid for (var j;;) {var i;}
> ok 15011 semi invalid var foo = {
>  bar: baz
> };
> ok 15012 semi invalid import theDefault, { named1, named2 } from 'src/mylib';
> ok 15013 semi invalid do{}while(true);
> ok 15014 semi invalid if (foo) { bar()
>  }
> ok 15015 semi invalid if (foo) {
>  bar() }
> ok 15016 semi invalid if (foo) {
>  bar(); baz() }
> ok 15017 semi invalid if (foo) { bar(); }
> ok 15018 semi invalid export * from 'foo'
> ok 15019 semi invalid export { foo } from 'foo'
> ok 15020 semi invalid var foo = 0;export { foo }
> ok 15021 semi invalid export var foo
> ok 15022 semi invalid export let foo
> ok 15023 semi invalid export const FOO = 42
> ok 15024 semi invalid export default foo || bar
> ok 15025 semi invalid export default (foo) => foo.bar()
> ok 15026 semi invalid export default foo = 42
> ok 15027 semi invalid export default foo += 42
> ok 15028 semi invalid export * from 'foo';
> ok 15029 semi invalid export { foo } from 'foo';
> ok 15030 semi invalid var foo = 0;export { foo };
> ok 15031 semi invalid export var foo;
> ok 15032 semi invalid export let foo;
> ok 15033 semi invalid export const FOO = 42;
> ok 15034 semi invalid export default foo || bar;
> ok 15035 semi invalid export default (foo) => foo.bar();
> ok 15036 semi invalid export default foo = 42;
> ok 15037 semi invalid export default foo += 42;
> ok 15038 semi invalid a;
> ++b
> ok 15039 semi invalid /*eslint no-extra-semi: error */
> foo();
> ;[0,1,2].forEach(bar)
> ok 15040 semi invalid 
>                 import a from "a"
>                 [1,2,3].forEach(doSomething)
>             
> ok 15041 semi invalid 
>                 var a = 0; export {a}
>                 [a] = b
>             
> ok 15042 semi invalid 
>                 function wrap() {
>                     return
>                     ({a} = b)
>                 }
>             
> ok 15043 semi invalid 
>                 while (true) {
>                     break
>                    +i
>                 }
>             
> ok 15044 semi invalid 
>                 while (true) {
>                     continue
>                     [1,2,3].forEach(doSomething)
>                 }
>             
> ok 15045 semi invalid 
>                 do; while(a)
>                 [1,2,3].forEach(doSomething)
>             
> ok 15046 semi invalid 
>                 const f = () => {}
>                 [1,2,3].forEach(doSomething)
>             
> ok 15047 semi invalid 
>                 import a from "a";
>                 [1,2,3].forEach(doSomething)
>             
> ok 15048 semi invalid 
>                 var a = 0; export {a};
>                 [a] = b
>             
> ok 15049 semi invalid 
>                 function wrap() {
>                     return;
>                     ({a} = b)
>                 }
>             
> ok 15050 semi invalid 
>                 while (true) {
>                     break;
>                     +i
>                 }
>             
> ok 15051 semi invalid 
>                 while (true) {
>                     continue;
>                     [1,2,3].forEach(doSomething)
>                 }
>             
> ok 15052 semi invalid 
>                 do; while(a);
>                 [1,2,3].forEach(doSomething)
>             
> ok 15053 semi invalid 
>                 const f = () => {};
>                 [1,2,3].forEach(doSomething)
>             
> ok 15054 semi invalid 
>                 import a from "a"
>                 ;[1,2,3].forEach(doSomething)
>             
> ok 15055 semi invalid 
>                 var a = 0; export {a}
>                 ;[1,2,3].forEach(doSomething)
>             
> ok 15056 semi invalid 
>                 function wrap() {
>                     return
>                     ;[1,2,3].forEach(doSomething)
>                 }
>             
> ok 15057 semi invalid 
>                 while (true) {
>                     break
>                     ;[1,2,3].forEach(doSomething)
>                 }
>             
> ok 15058 semi invalid 
>                 while (true) {
>                     continue
>                     ;[1,2,3].forEach(doSomething)
>                 }
>             
> ok 15059 semi invalid 
>                 do; while(a)
>                 ;[1,2,3].forEach(doSomething)
>             
> ok 15060 semi invalid 
>                 const f = () => {}
>                 ;[1,2,3].forEach(doSomething)
>             
> ok 15061 sort-imports valid import a from 'foo.js';
> import b from 'bar.js';
> import c from 'baz.js';
> 
> ok 15062 sort-imports valid import * as B from 'foo.js';
> import A from 'bar.js';
> ok 15063 sort-imports valid import * as B from 'foo.js';
> import {a, b} from 'bar.js';
> ok 15064 sort-imports valid import {b, c} from 'bar.js';
> import A from 'foo.js';
> ok 15065 sort-imports valid import A from 'bar.js';
> import {b, c} from 'foo.js';
> ok 15066 sort-imports valid import {a, b} from 'bar.js';
> import {c, d} from 'foo.js';
> ok 15067 sort-imports valid import A from 'foo.js';
> import B from 'bar.js';
> ok 15068 sort-imports valid import A from 'foo.js';
> import a from 'bar.js';
> ok 15069 sort-imports valid import a, * as b from 'foo.js';
> import c from 'bar.js';
> ok 15070 sort-imports valid import 'foo.js';
>  import a from 'bar.js';
> ok 15071 sort-imports valid import B from 'foo.js';
> import a from 'bar.js';
> ok 15072 sort-imports valid import a from 'foo.js';
> import B from 'bar.js';
> ok 15073 sort-imports valid import {a, b, c, d} from 'foo.js';
> ok 15074 sort-imports valid import a from 'foo.js';
> import B from 'bar.js';
> ok 15075 sort-imports valid import {b, A, C, d} from 'foo.js';
> ok 15076 sort-imports valid import {B, a, C, d} from 'foo.js';
> ok 15077 sort-imports valid import {a, B, c, D} from 'foo.js';
> ok 15078 sort-imports valid import a, * as b from 'foo.js';
> ok 15079 sort-imports valid import * as a from 'foo.js';
> 
> import b from 'bar.js';
> ok 15080 sort-imports valid import * as bar from 'bar.js';
> import * as foo from 'foo.js';
> ok 15081 sort-imports valid import 'foo';
> import bar from 'bar';
> ok 15082 sort-imports valid import React, {Component} from 'react';
> ok 15083 sort-imports invalid import a from 'foo.js';
> import A from 'bar.js';
> ok 15084 sort-imports invalid import b from 'foo.js';
> import a from 'bar.js';
> ok 15085 sort-imports invalid import {b, c} from 'foo.js';
> import {a, d} from 'bar.js';
> ok 15086 sort-imports invalid import * as foo from 'foo.js';
> import * as bar from 'bar.js';
> ok 15087 sort-imports invalid import a from 'foo.js';
> import {b, c} from 'bar.js';
> ok 15088 sort-imports invalid import a from 'foo.js';
> import * as b from 'bar.js';
> ok 15089 sort-imports invalid import a from 'foo.js';
> import 'bar.js';
> ok 15090 sort-imports invalid import b from 'bar.js';
> import * as a from 'foo.js';
> ok 15091 sort-imports invalid import {b, a, d, c} from 'foo.js';
> ok 15092 sort-imports invalid import {b, a, d, c} from 'foo.js';
> import {e, f, g, h} from 'bar.js';
> ok 15093 sort-imports invalid import {a, B, c, D} from 'foo.js';
> ok 15094 sort-imports invalid import {zzzzz, /* comment */ aaaaa} from 'foo.js';
> ok 15095 sort-imports invalid import {zzzzz /* comment */, aaaaa} from 'foo.js';
> ok 15096 sort-imports invalid import {/* comment */ zzzzz, aaaaa} from 'foo.js';
> ok 15097 sort-imports invalid import {zzzzz, aaaaa /* comment */} from 'foo.js';
> ok 15098 sort-imports invalid 
>               import {
>                 boop,
>                 foo,
>                 zoo,
>                 baz as qux,
>                 bar,
>                 beep
>               } from 'foo.js';
>             
> ok 15099 sort-keys valid var obj = {_:2, a:1, b:3} // default
> ok 15100 sort-keys valid var obj = {a:1, b:3, c:2}
> ok 15101 sort-keys valid var obj = {a:2, b:3, b_:1}
> ok 15102 sort-keys valid var obj = {C:3, b_:1, c:2}
> ok 15103 sort-keys valid var obj = {$:1, A:3, _:2, a:4}
> ok 15104 sort-keys valid var obj = {1:1, '11':2, 2:4, A:3}
> ok 15105 sort-keys valid var obj = {'':1, 'Z':2, À:3, è:4}
> ok 15106 sort-keys valid var obj = {a:1, b:3, [a + b]: -1, c:2}
> ok 15107 sort-keys valid var obj = {a:1, ...z, b:1}
> ok 15108 sort-keys valid var obj = {b:1, ...z, a:1}
> ok 15109 sort-keys valid var obj = {...a, b:1, ...c, d:1}
> ok 15110 sort-keys valid var obj = {...a, b:1, ...d, ...c, e:2, z:5}
> ok 15111 sort-keys valid var obj = {b:1, ...c, ...d, e:2}
> ok 15112 sort-keys valid var obj = {...z, a:1, b:1}
> ok 15113 sort-keys valid var obj = {...z, ...c, a:1, b:1}
> ok 15114 sort-keys valid var obj = {a:1, b:1, ...z}
> ok 15115 sort-keys valid var obj = {...z, ...x, a:1, ...c, ...d, f:5, e:4}
> ok 15116 sort-keys valid function fn(...args) { return [...args].length; }
> ok 15117 sort-keys valid function g() {}; function f(...args) { return g(...args); }
> ok 15118 sort-keys valid let {a, b} = {}
> ok 15119 sort-keys valid var obj = {a:1, b:{x:1, y:1}, c:1}
> ok 15120 sort-keys valid var obj = {_:2, a:1, b:3} // asc
> ok 15121 sort-keys valid var obj = {a:1, b:3, c:2}
> ok 15122 sort-keys valid var obj = {a:2, b:3, b_:1}
> ok 15123 sort-keys valid var obj = {C:3, b_:1, c:2}
> ok 15124 sort-keys valid var obj = {$:1, A:3, _:2, a:4}
> ok 15125 sort-keys valid var obj = {1:1, '11':2, 2:4, A:3}
> ok 15126 sort-keys valid var obj = {'':1, 'Z':2, À:3, è:4}
> ok 15127 sort-keys valid var obj = {_:2, a:1, b:3} // asc, insensitive
> ok 15128 sort-keys valid var obj = {a:1, b:3, c:2}
> ok 15129 sort-keys valid var obj = {a:2, b:3, b_:1}
> ok 15130 sort-keys valid var obj = {b_:1, C:3, c:2}
> ok 15131 sort-keys valid var obj = {b_:1, c:3, C:2}
> ok 15132 sort-keys valid var obj = {$:1, _:2, A:3, a:4}
> ok 15133 sort-keys valid var obj = {1:1, '11':2, 2:4, A:3}
> ok 15134 sort-keys valid var obj = {'':1, 'Z':2, À:3, è:4}
> ok 15135 sort-keys valid var obj = {_:2, a:1, b:3} // asc, natural
> ok 15136 sort-keys valid var obj = {a:1, b:3, c:2}
> ok 15137 sort-keys valid var obj = {a:2, b:3, b_:1}
> ok 15138 sort-keys valid var obj = {C:3, b_:1, c:2}
> ok 15139 sort-keys valid var obj = {$:1, _:2, A:3, a:4}
> ok 15140 sort-keys valid var obj = {1:1, 2:4, '11':2, A:3}
> ok 15141 sort-keys valid var obj = {'':1, 'Z':2, À:3, è:4}
> ok 15142 sort-keys valid var obj = {_:2, a:1, b:3} // asc, natural, insensitive
> ok 15143 sort-keys valid var obj = {a:1, b:3, c:2}
> ok 15144 sort-keys valid var obj = {a:2, b:3, b_:1}
> ok 15145 sort-keys valid var obj = {b_:1, C:3, c:2}
> ok 15146 sort-keys valid var obj = {b_:1, c:3, C:2}
> ok 15147 sort-keys valid var obj = {$:1, _:2, A:3, a:4}
> ok 15148 sort-keys valid var obj = {1:1, 2:4, '11':2, A:3}
> ok 15149 sort-keys valid var obj = {'':1, 'Z':2, À:3, è:4}
> ok 15150 sort-keys valid var obj = {b:3, a:1, _:2} // desc
> ok 15151 sort-keys valid var obj = {c:2, b:3, a:1}
> ok 15152 sort-keys valid var obj = {b_:1, b:3, a:2}
> ok 15153 sort-keys valid var obj = {c:2, b_:1, C:3}
> ok 15154 sort-keys valid var obj = {a:4, _:2, A:3, $:1}
> ok 15155 sort-keys valid var obj = {A:3, 2:4, '11':2, 1:1}
> ok 15156 sort-keys valid var obj = {è:4, À:3, 'Z':2, '':1}
> ok 15157 sort-keys valid var obj = {b:3, a:1, _:2} // desc, insensitive
> ok 15158 sort-keys valid var obj = {c:2, b:3, a:1}
> ok 15159 sort-keys valid var obj = {b_:1, b:3, a:2}
> ok 15160 sort-keys valid var obj = {c:2, C:3, b_:1}
> ok 15161 sort-keys valid var obj = {C:2, c:3, b_:1}
> ok 15162 sort-keys valid var obj = {a:4, A:3, _:2, $:1}
> ok 15163 sort-keys valid var obj = {A:3, 2:4, '11':2, 1:1}
> ok 15164 sort-keys valid var obj = {è:4, À:3, 'Z':2, '':1}
> ok 15165 sort-keys valid var obj = {b:3, a:1, _:2} // desc, natural
> ok 15166 sort-keys valid var obj = {c:2, b:3, a:1}
> ok 15167 sort-keys valid var obj = {b_:1, b:3, a:2}
> ok 15168 sort-keys valid var obj = {c:2, b_:1, C:3}
> ok 15169 sort-keys valid var obj = {a:4, A:3, _:2, $:1}
> ok 15170 sort-keys valid var obj = {A:3, '11':2, 2:4, 1:1}
> ok 15171 sort-keys valid var obj = {è:4, À:3, 'Z':2, '':1}
> ok 15172 sort-keys valid var obj = {b:3, a:1, _:2} // desc, natural, insensitive
> ok 15173 sort-keys valid var obj = {c:2, b:3, a:1}
> ok 15174 sort-keys valid var obj = {b_:1, b:3, a:2}
> ok 15175 sort-keys valid var obj = {c:2, C:3, b_:1}
> ok 15176 sort-keys valid var obj = {C:2, c:3, b_:1}
> ok 15177 sort-keys valid var obj = {a:4, A:3, _:2, $:1}
> ok 15178 sort-keys valid var obj = {A:3, '11':2, 2:4, 1:1}
> ok 15179 sort-keys valid var obj = {è:4, À:3, 'Z':2, '':1}
> ok 15180 sort-keys invalid var obj = {a:1, _:2, b:3} // default
> ok 15181 sort-keys invalid var obj = {a:1, c:2, b:3}
> ok 15182 sort-keys invalid var obj = {b_:1, a:2, b:3}
> ok 15183 sort-keys invalid var obj = {b_:1, c:2, C:3}
> ok 15184 sort-keys invalid var obj = {$:1, _:2, A:3, a:4}
> ok 15185 sort-keys invalid var obj = {1:1, 2:4, A:3, '11':2}
> ok 15186 sort-keys invalid var obj = {'':1, À:3, 'Z':2, è:4}
> ok 15187 sort-keys invalid var obj = {...z, c:1, b:1}
> ok 15188 sort-keys invalid var obj = {...z, ...c, d:4, b:1, ...y, ...f, e:2, a:1}
> ok 15189 sort-keys invalid var obj = {c:1, b:1, ...a}
> ok 15190 sort-keys invalid var obj = {...z, ...a, c:1, b:1}
> ok 15191 sort-keys invalid var obj = {...z, b:1, a:1, ...d, ...c}
> ok 15192 sort-keys invalid var obj = {...z, a:2, b:0, ...x, ...c}
> ok 15193 sort-keys invalid var obj = {...z, a:2, b:0, ...x}
> ok 15194 sort-keys invalid var obj = {a:1, b:3, [a]: -1, c:2}
> ok 15195 sort-keys invalid var obj = {a:1, c:{y:1, x:1}, b:1}
> ok 15196 sort-keys invalid var obj = {a:1, _:2, b:3} // asc
> ok 15197 sort-keys invalid var obj = {a:1, c:2, b:3}
> ok 15198 sort-keys invalid var obj = {b_:1, a:2, b:3}
> ok 15199 sort-keys invalid var obj = {b_:1, c:2, C:3}
> ok 15200 sort-keys invalid var obj = {$:1, _:2, A:3, a:4}
> ok 15201 sort-keys invalid var obj = {1:1, 2:4, A:3, '11':2}
> ok 15202 sort-keys invalid var obj = {'':1, À:3, 'Z':2, è:4}
> ok 15203 sort-keys invalid var obj = {a:1, _:2, b:3} // asc, insensitive
> ok 15204 sort-keys invalid var obj = {a:1, c:2, b:3}
> ok 15205 sort-keys invalid var obj = {b_:1, a:2, b:3}
> ok 15206 sort-keys invalid var obj = {$:1, A:3, _:2, a:4}
> ok 15207 sort-keys invalid var obj = {1:1, 2:4, A:3, '11':2}
> ok 15208 sort-keys invalid var obj = {'':1, À:3, 'Z':2, è:4}
> ok 15209 sort-keys invalid var obj = {a:1, _:2, b:3} // asc, natural
> ok 15210 sort-keys invalid var obj = {a:1, c:2, b:3}
> ok 15211 sort-keys invalid var obj = {b_:1, a:2, b:3}
> ok 15212 sort-keys invalid var obj = {b_:1, c:2, C:3}
> ok 15213 sort-keys invalid var obj = {$:1, A:3, _:2, a:4}
> ok 15214 sort-keys invalid var obj = {1:1, 2:4, A:3, '11':2}
> ok 15215 sort-keys invalid var obj = {'':1, À:3, 'Z':2, è:4}
> ok 15216 sort-keys invalid var obj = {a:1, _:2, b:3} // asc, natural, insensitive
> ok 15217 sort-keys invalid var obj = {a:1, c:2, b:3}
> ok 15218 sort-keys invalid var obj = {b_:1, a:2, b:3}
> ok 15219 sort-keys invalid var obj = {$:1, A:3, _:2, a:4}
> ok 15220 sort-keys invalid var obj = {1:1, '11':2, 2:4, A:3}
> ok 15221 sort-keys invalid var obj = {'':1, À:3, 'Z':2, è:4}
> ok 15222 sort-keys invalid var obj = {a:1, _:2, b:3} // desc
> ok 15223 sort-keys invalid var obj = {a:1, c:2, b:3}
> ok 15224 sort-keys invalid var obj = {b_:1, a:2, b:3}
> ok 15225 sort-keys invalid var obj = {b_:1, c:2, C:3}
> ok 15226 sort-keys invalid var obj = {$:1, _:2, A:3, a:4}
> ok 15227 sort-keys invalid var obj = {1:1, 2:4, A:3, '11':2}
> ok 15228 sort-keys invalid var obj = {'':1, À:3, 'Z':2, è:4}
> ok 15229 sort-keys invalid var obj = {a:1, _:2, b:3} // desc, insensitive
> ok 15230 sort-keys invalid var obj = {a:1, c:2, b:3}
> ok 15231 sort-keys invalid var obj = {b_:1, a:2, b:3}
> ok 15232 sort-keys invalid var obj = {b_:1, c:2, C:3}
> ok 15233 sort-keys invalid var obj = {$:1, _:2, A:3, a:4}
> ok 15234 sort-keys invalid var obj = {1:1, 2:4, A:3, '11':2}
> ok 15235 sort-keys invalid var obj = {'':1, À:3, 'Z':2, è:4}
> ok 15236 sort-keys invalid var obj = {a:1, _:2, b:3} // desc, natural
> ok 15237 sort-keys invalid var obj = {a:1, c:2, b:3}
> ok 15238 sort-keys invalid var obj = {b_:1, a:2, b:3}
> ok 15239 sort-keys invalid var obj = {b_:1, c:2, C:3}
> ok 15240 sort-keys invalid var obj = {$:1, _:2, A:3, a:4}
> ok 15241 sort-keys invalid var obj = {1:1, 2:4, A:3, '11':2}
> ok 15242 sort-keys invalid var obj = {'':1, À:3, 'Z':2, è:4}
> ok 15243 sort-keys invalid var obj = {a:1, _:2, b:3} // desc, natural, insensitive
> ok 15244 sort-keys invalid var obj = {a:1, c:2, b:3}
> ok 15245 sort-keys invalid var obj = {b_:1, a:2, b:3}
> ok 15246 sort-keys invalid var obj = {b_:1, c:2, C:3}
> ok 15247 sort-keys invalid var obj = {$:1, _:2, A:3, a:4}
> ok 15248 sort-keys invalid var obj = {1:1, 2:4, '11':2, A:3}
> ok 15249 sort-keys invalid var obj = {'':1, À:3, 'Z':2, è:4}
> ok 15250 sort-vars valid var a=10, b=4, c='abc'
> ok 15251 sort-vars valid var a, b, c, d
> ok 15252 sort-vars valid var b; var a; var d;
> ok 15253 sort-vars valid var _a, a
> ok 15254 sort-vars valid var A, a
> ok 15255 sort-vars valid var A, b
> ok 15256 sort-vars valid var a, A;
> ok 15257 sort-vars valid var A, a;
> ok 15258 sort-vars valid var a, B, c;
> ok 15259 sort-vars valid var A, b, C;
> ok 15260 sort-vars valid var {a, b, c} = x;
> ok 15261 sort-vars valid var {A, b, C} = x;
> ok 15262 sort-vars valid var test = [1,2,3];
> ok 15263 sort-vars valid var {a,b} = [1,2];
> ok 15264 sort-vars valid var [a, B, c] = [1, 2, 3];
> ok 15265 sort-vars valid var [A, B, c] = [1, 2, 3];
> ok 15266 sort-vars valid var [A, b, C] = [1, 2, 3];
> ok 15267 sort-vars valid let {a, b, c} = x;
> ok 15268 sort-vars valid let [a, b, c] = [1, 2, 3];
> ok 15269 sort-vars valid const {a, b, c} = {a: 1, b: true, c: "Moo"};
> ok 15270 sort-vars valid const [a, b, c] = [1, true, "Moo"];
> ok 15271 sort-vars valid const [c, a, b] = [1, true, "Moo"];
> ok 15272 sort-vars valid var {a, x: {b, c}} = {};
> ok 15273 sort-vars valid var {c, x: {a, c}} = {};
> ok 15274 sort-vars valid var {a, x: [b, c]} = {};
> ok 15275 sort-vars valid var [a, {b, c}] = {};
> ok 15276 sort-vars valid var [a, {x: {b, c}}] = {};
> ok 15277 sort-vars valid var a = 42, {b, c } = {};
> ok 15278 sort-vars valid var b = 42, {a, c } = {};
> ok 15279 sort-vars valid var [b, {x: {a, c}}] = {};
> ok 15280 sort-vars valid var [b, d, a, c] = {};
> ok 15281 sort-vars valid var e, [a, c, d] = {};
> ok 15282 sort-vars valid var a, [E, c, D] = [];
> ok 15283 sort-vars valid var a, f, [e, c, d] = [1,2,3];
> ok 15284 sort-vars valid export default class {
>     render () {
>         let {
>             b
>         } = this,
>             a,
>             c;
>     }
> }
> ok 15285 sort-vars valid var {} = 1, a
> ok 15286 sort-vars invalid var b, a
> ok 15287 sort-vars invalid var b , a
> ok 15288 sort-vars invalid var b,
>     a;
> ok 15289 sort-vars invalid var b=10, a=20;
> ok 15290 sort-vars invalid var b=10, a=20, c=30;
> ok 15291 sort-vars invalid var all=10, a = 1
> ok 15292 sort-vars invalid var b, c, a, d
> ok 15293 sort-vars invalid var c, d, a, b
> ok 15294 sort-vars invalid var a, A;
> ok 15295 sort-vars invalid var a, B;
> ok 15296 sort-vars invalid var a, B, c;
> ok 15297 sort-vars invalid var B, a;
> ok 15298 sort-vars invalid var B, A, c;
> ok 15299 sort-vars invalid var d, a, [b, c] = {};
> ok 15300 sort-vars invalid var d, a, [b, {x: {c, e}}] = {};
> ok 15301 sort-vars invalid var {} = 1, b, a
> ok 15302 sort-vars invalid var b=10, a=f();
> ok 15303 sort-vars invalid var b=10, a=b;
> ok 15304 sort-vars invalid var b = 0, a = `${b}`;
> ok 15305 sort-vars invalid var b = 0, a = `${f()}`
> ok 15306 sort-vars invalid var b = 0, c = b, a;
> ok 15307 sort-vars invalid var b = 0, c = 0, a = b + c;
> ok 15308 sort-vars invalid var b = f(), c, d, a;
> ok 15309 sort-vars invalid var b = `${f()}`, c, d, a;
> ok 15310 sort-vars invalid var c, a = b = 0
> ok 15311 space-before-blocks valid if(a) {}
> ok 15312 space-before-blocks valid if(a)  {}
> ok 15313 space-before-blocks valid if(a){}
> ok 15314 space-before-blocks valid if(a){}
> ok 15315 space-before-blocks valid if(a) {}
> ok 15316 space-before-blocks valid if(a){ function b() {} }
> ok 15317 space-before-blocks valid if(a) { function b(){} }
> ok 15318 space-before-blocks valid if(a)
> {}
> ok 15319 space-before-blocks valid if(a)
> {}
> ok 15320 space-before-blocks valid if(a) {}else {}
> ok 15321 space-before-blocks valid if(a){}else{}
> ok 15322 space-before-blocks valid if(a){}else{}
> ok 15323 space-before-blocks valid if(a) {} else {}
> ok 15324 space-before-blocks valid if(a){ function b() {} }else{}
> ok 15325 space-before-blocks valid if(a) { function b(){} } else {}
> ok 15326 space-before-blocks valid function a() {}
> ok 15327 space-before-blocks valid function a(){}
> ok 15328 space-before-blocks valid export default class{}
> ok 15329 space-before-blocks valid export default class {}
> ok 15330 space-before-blocks valid export default function a() {}
> ok 15331 space-before-blocks valid export default function a(){}
> ok 15332 space-before-blocks valid export function a(){}
> ok 15333 space-before-blocks valid export function a() {}
> ok 15334 space-before-blocks valid function a(){}
> ok 15335 space-before-blocks valid function a() {}
> ok 15336 space-before-blocks valid function a(){ if(b) {} }
> ok 15337 space-before-blocks valid function a() { if(b){} }
> ok 15338 space-before-blocks valid switch(a.b(c < d)) { case 'foo': foo(); break; default: if (a) { bar(); } }
> ok 15339 space-before-blocks valid switch(a) { }
> ok 15340 space-before-blocks valid switch(a)  {}
> ok 15341 space-before-blocks valid switch(a.b(c < d)){ case 'foo': foo(); break; default: if (a){ bar(); } }
> ok 15342 space-before-blocks valid switch(a.b(c < d)){ case 'foo': foo(); break; default: if (a){ bar(); } }
> ok 15343 space-before-blocks valid switch(a){}
> ok 15344 space-before-blocks valid switch(a){}
> ok 15345 space-before-blocks valid switch(a) {}
> ok 15346 space-before-blocks valid try {}catch(a) {}
> ok 15347 space-before-blocks valid try{}catch(a){}
> ok 15348 space-before-blocks valid try{}catch(a){}
> ok 15349 space-before-blocks valid try {} catch(a) {}
> ok 15350 space-before-blocks valid try{ function b() {} }catch(a){}
> ok 15351 space-before-blocks valid try { function b(){} } catch(a) {}
> ok 15352 space-before-blocks valid for(;;) {}
> ok 15353 space-before-blocks valid for(;;){}
> ok 15354 space-before-blocks valid for(;;){}
> ok 15355 space-before-blocks valid for(;;) {}
> ok 15356 space-before-blocks valid for(;;){ function a() {} }
> ok 15357 space-before-blocks valid for(;;) { function a(){} }
> ok 15358 space-before-blocks valid while(a) {}
> ok 15359 space-before-blocks valid while(a){}
> ok 15360 space-before-blocks valid while(a){}
> ok 15361 space-before-blocks valid while(a) {}
> ok 15362 space-before-blocks valid while(a){ function b() {} }
> ok 15363 space-before-blocks valid while(a) { function b(){} }
> ok 15364 space-before-blocks valid class test { constructor() {} }
> ok 15365 space-before-blocks valid class test { constructor(){} }
> ok 15366 space-before-blocks valid class test{ constructor() {} }
> ok 15367 space-before-blocks valid class test {}
> ok 15368 space-before-blocks valid class test{}
> ok 15369 space-before-blocks valid class test{}
> ok 15370 space-before-blocks valid class test {}
> ok 15371 space-before-blocks valid function a(){if(b) {}}
> ok 15372 space-before-blocks valid function a() {if(b) {}}
> ok 15373 space-before-blocks valid function a() {if(b){}}
> ok 15374 space-before-blocks valid function a() {if(b) {}}
> ok 15375 space-before-blocks valid class test { constructor(){if(a){}} }
> ok 15376 space-before-blocks valid class test { constructor() {if(a){}} }
> ok 15377 space-before-blocks valid class test { constructor(){if(a) {}} }
> ok 15378 space-before-blocks valid class test { constructor() {if(a) {}} }
> ok 15379 space-before-blocks valid function a(){if(b){}}
> ok 15380 space-before-blocks valid function a() {if(b){}}
> ok 15381 space-before-blocks valid function a(){if(b){}}
> ok 15382 space-before-blocks valid function a(){if(b) {}}
> ok 15383 space-before-blocks valid class test{ constructor(){if(a){}} }
> ok 15384 space-before-blocks valid class test{ constructor() {if(a){}} }
> ok 15385 space-before-blocks valid class test{ constructor(){if(a) {}} }
> ok 15386 space-before-blocks valid class test{ constructor() {if(a) {}} }
> ok 15387 space-before-blocks valid ()=>{};
> ok 15388 space-before-blocks valid () => {};
> ok 15389 space-before-blocks valid if(a) {}else{}
> ok 15390 space-before-blocks valid if(a){}else {}
> ok 15391 space-before-blocks valid try {}catch(a){}
> ok 15392 space-before-blocks valid export default class{}
> ok 15393 space-before-blocks invalid if(a){}
> ok 15394 space-before-blocks invalid if(a){}
> ok 15395 space-before-blocks invalid if(a) {}
> ok 15396 space-before-blocks invalid if(a) { function a() {} }
> ok 15397 space-before-blocks invalid if(a) { function a() {} }
> ok 15398 space-before-blocks invalid if(a) {}
> ok 15399 space-before-blocks invalid function a(){}
> ok 15400 space-before-blocks invalid function a() {}
> ok 15401 space-before-blocks invalid function a()    {}
> ok 15402 space-before-blocks invalid function a(){ if (a){} }
> ok 15403 space-before-blocks invalid function a() { if (a) {} }
> ok 15404 space-before-blocks invalid function a(){}
> ok 15405 space-before-blocks invalid function a() {}
> ok 15406 space-before-blocks invalid switch(a){}
> ok 15407 space-before-blocks invalid switch(a) {}
> ok 15408 space-before-blocks invalid switch(a){}
> ok 15409 space-before-blocks invalid switch(a) {}
> ok 15410 space-before-blocks invalid switch(a.b()){ case 'foo': foo(); break; default: if (a) { bar(); } }
> ok 15411 space-before-blocks invalid switch(a.b()) { case 'foo': foo(); break; default: if (a){ bar(); } }
> ok 15412 space-before-blocks invalid try{}catch(a){}
> ok 15413 space-before-blocks invalid try {}catch(a) {}
> ok 15414 space-before-blocks invalid try {} catch(a){}
> ok 15415 space-before-blocks invalid try { function b() {} } catch(a) {}
> ok 15416 space-before-blocks invalid try{ function b(){} }catch(a){}
> ok 15417 space-before-blocks invalid for(;;){}
> ok 15418 space-before-blocks invalid for(;;) {}
> ok 15419 space-before-blocks invalid for(;;){}
> ok 15420 space-before-blocks invalid for(;;) {}
> ok 15421 space-before-blocks invalid for(;;){ function a(){} }
> ok 15422 space-before-blocks invalid for(;;) { function a() {} }
> ok 15423 space-before-blocks invalid while(a){}
> ok 15424 space-before-blocks invalid while(a) {}
> ok 15425 space-before-blocks invalid while(a){}
> ok 15426 space-before-blocks invalid while(a) {}
> ok 15427 space-before-blocks invalid while(a){ function a(){} }
> ok 15428 space-before-blocks invalid while(a) { function a() {} }
> ok 15429 space-before-blocks invalid export function a() { if(b) {} }
> ok 15430 space-before-blocks invalid export function a(){ if(b){} }
> ok 15431 space-before-blocks invalid export function a(){}
> ok 15432 space-before-blocks invalid export default function (a) {}
> ok 15433 space-before-blocks invalid export function a() {}
> ok 15434 space-before-blocks invalid class test{}
> ok 15435 space-before-blocks invalid class test{}
> ok 15436 space-before-blocks invalid class test{ constructor(){} }
> ok 15437 space-before-blocks invalid class test { constructor() {} }
> ok 15438 space-before-blocks invalid class test {}
> ok 15439 space-before-blocks invalid class test {}
> ok 15440 space-before-blocks invalid if(a){ function a(){} }
> ok 15441 space-before-blocks invalid if(a) { function a(){} }
> ok 15442 space-before-blocks invalid if(a){ function a(){} }
> ok 15443 space-before-blocks invalid if(a){ function a() {} }
> ok 15444 space-before-blocks invalid class test{ constructor(){} }
> ok 15445 space-before-blocks invalid class test{ constructor() {} }
> ok 15446 space-before-blocks invalid if(a){ function a() {} }
> ok 15447 space-before-blocks invalid if(a) { function a() {} }
> ok 15448 space-before-blocks invalid if(a) { function a(){} }
> ok 15449 space-before-blocks invalid if(a) { function a() {} }
> ok 15450 space-before-blocks invalid class test { constructor(){} }
> ok 15451 space-before-blocks invalid class test { constructor() {} }
> ok 15452 space-before-function-paren valid function foo () {}
> ok 15453 space-before-function-paren valid var foo = function () {}
> ok 15454 space-before-function-paren valid var bar = function foo () {}
> ok 15455 space-before-function-paren valid var obj = { get foo () {}, set foo (val) {} };
> ok 15456 space-before-function-paren valid var obj = { foo () {} };
> ok 15457 space-before-function-paren valid function* foo () {}
> ok 15458 space-before-function-paren valid var foo = function *() {};
> ok 15459 space-before-function-paren valid function foo() {}
> ok 15460 space-before-function-paren valid var foo = function() {}
> ok 15461 space-before-function-paren valid var bar = function foo() {}
> ok 15462 space-before-function-paren valid var obj = { get foo() {}, set foo(val) {} };
> ok 15463 space-before-function-paren valid var obj = { foo() {} };
> ok 15464 space-before-function-paren valid function* foo() {}
> ok 15465 space-before-function-paren valid var foo = function*() {};
> ok 15466 space-before-function-paren valid function foo() {}
> var bar = function () {}
> function* baz() {}
> var bat = function*() {};
> var obj = { get foo() {}, set foo(val) {}, bar() {} };
> ok 15467 space-before-function-paren valid function foo () {}
> var bar = function() {}
> function* baz () {}
> var bat = function* () {};
> var obj = { get foo () {}, set foo (val) {}, bar () {} };
> ok 15468 space-before-function-paren valid class Foo { constructor() {} *method() {} }
> ok 15469 space-before-function-paren valid class Foo { constructor () {} *method () {} }
> ok 15470 space-before-function-paren valid var foo = function() {}
> ok 15471 space-before-function-paren valid var foo = function () {}
> ok 15472 space-before-function-paren valid var bar = function foo() {}
> ok 15473 space-before-function-paren valid var bar = function foo () {}
> ok 15474 space-before-function-paren valid type TransformFunction = (el: ASTElement, code: string) => string;
> ok 15475 space-before-function-paren valid () => 1
> ok 15476 space-before-function-paren valid async a => a
> ok 15477 space-before-function-paren valid async a => a
> ok 15478 space-before-function-paren valid async a => a
> ok 15479 space-before-function-paren valid async () => 1
> ok 15480 space-before-function-paren valid async() => 1
> ok 15481 space-before-function-paren valid async () => 1
> ok 15482 space-before-function-paren valid async() => 1
> ok 15483 space-before-function-paren valid async () => 1
> ok 15484 space-before-function-paren valid async () => 1
> ok 15485 space-before-function-paren valid async() => 1
> ok 15486 space-before-function-paren invalid function foo() {}
> ok 15487 space-before-function-paren invalid function foo/* */() {}
> ok 15488 space-before-function-paren invalid var foo = function() {}
> ok 15489 space-before-function-paren invalid var bar = function foo() {}
> ok 15490 space-before-function-paren invalid var obj = { get foo() {}, set foo(val) {} };
> ok 15491 space-before-function-paren invalid var obj = { foo() {} };
> ok 15492 space-before-function-paren invalid function* foo() {}
> ok 15493 space-before-function-paren invalid function foo () {}
> ok 15494 space-before-function-paren invalid var foo = function () {}
> ok 15495 space-before-function-paren invalid var bar = function foo () {}
> ok 15496 space-before-function-paren invalid var obj = { get foo () {}, set foo (val) {} };
> ok 15497 space-before-function-paren invalid var obj = { foo () {} };
> ok 15498 space-before-function-paren invalid function* foo () {}
> ok 15499 space-before-function-paren invalid function foo () {}
> var bar = function() {}
> var obj = { get foo () {}, set foo (val) {}, bar () {} };
> ok 15500 space-before-function-paren invalid class Foo { constructor () {} *method () {} }
> ok 15501 space-before-function-paren invalid var foo = { bar () {} }
> ok 15502 space-before-function-paren invalid function foo() {}
> var bar = function () {}
> var obj = { get foo() {}, set foo(val) {}, bar() {} };
> ok 15503 space-before-function-paren invalid var foo = function() {}
> ok 15504 space-before-function-paren invalid var foo = function () {}
> ok 15505 space-before-function-paren invalid var bar = function foo() {}
> ok 15506 space-before-function-paren invalid var bar = function foo () {}
> ok 15507 space-before-function-paren invalid async() => 1
> ok 15508 space-before-function-paren invalid async () => 1
> ok 15509 space-before-function-paren invalid async() => 1
> ok 15510 space-before-function-paren invalid async() => 1
> ok 15511 space-before-function-paren invalid async () => 1
> ok 15512 space-in-parens valid foo()
> ok 15513 space-in-parens valid foo( bar )
> ok 15514 space-in-parens valid foo
> (
> bar
> )
> 
> ok 15515 space-in-parens valid foo
> (  
> bar
>  )
> 
> ok 15516 space-in-parens valid foo
> (
>  bar  
> )
> 
> ok 15517 space-in-parens valid foo
> ( 
>   bar 
>   )
> 
> ok 15518 space-in-parens valid foo
> (	
> bar
> )
> ok 15519 space-in-parens valid 	foo(
> 		bar
> 	)
> ok 15520 space-in-parens valid 	foo
> (	
> 		bar	
> 	)
> ok 15521 space-in-parens valid var x = ( 1 + 2 ) * 3
> ok 15522 space-in-parens valid var x = 'foo(bar)'
> ok 15523 space-in-parens valid var x = 'bar( baz )'
> ok 15524 space-in-parens valid var foo = `(bar)`;
> ok 15525 space-in-parens valid var foo = `(bar ${baz})`;
> ok 15526 space-in-parens valid var foo = `(bar ${( 1 + 2 )})`;
> ok 15527 space-in-parens valid bar()
> ok 15528 space-in-parens valid bar(baz)
> ok 15529 space-in-parens valid var x = (4 + 5) * 6
> ok 15530 space-in-parens valid foo
> (
> bar
> )
> 
> ok 15531 space-in-parens valid foo
> (  
> bar
>  )
> 
> ok 15532 space-in-parens valid foo
> (
>  bar  
> )
> 
> ok 15533 space-in-parens valid foo
> ( 
>   bar 
>   )
> 
> ok 15534 space-in-parens valid var foo = `( bar )`;
> ok 15535 space-in-parens valid var foo = `( bar ${baz} )`;
> ok 15536 space-in-parens valid var foo = `(bar ${(1 + 2)})`;
> ok 15537 space-in-parens valid foo( /* bar */ )
> ok 15538 space-in-parens valid foo( /* bar */baz )
> ok 15539 space-in-parens valid foo( /* bar */ baz )
> ok 15540 space-in-parens valid foo( baz/* bar */ )
> ok 15541 space-in-parens valid foo( baz /* bar */ )
> ok 15542 space-in-parens valid foo(/* bar */)
> ok 15543 space-in-parens valid foo(/* bar */ baz)
> ok 15544 space-in-parens valid foo( //some comment
> bar
> )
> 
> ok 15545 space-in-parens valid foo(//some comment
> bar
> )
> 
> ok 15546 space-in-parens valid foo( //some comment
> bar
> )
> 
> ok 15547 space-in-parens valid foo({ bar: 'baz' })
> ok 15548 space-in-parens valid foo( { bar: 'baz' } )
> ok 15549 space-in-parens valid foo( 1, { bar: 'baz' })
> ok 15550 space-in-parens valid foo({ bar: 'baz' }, 1 )
> ok 15551 space-in-parens valid foo({
> bar: 'baz',
> baz: 'bar'
> })
> ok 15552 space-in-parens valid foo({ bar: 'baz' })
> ok 15553 space-in-parens valid foo( { bar: 'baz' } )
> ok 15554 space-in-parens valid foo(1, { bar: 'baz' } )
> ok 15555 space-in-parens valid foo( { bar: 'baz' }, 1)
> ok 15556 space-in-parens valid foo( {
> bar: 'baz',
> baz: 'bar'
> } )
> ok 15557 space-in-parens valid foo([ 1, 2 ])
> ok 15558 space-in-parens valid foo( [ 1, 2 ] )
> ok 15559 space-in-parens valid foo( 1, [ 1, 2 ])
> ok 15560 space-in-parens valid foo([ 1, 2 ], 1 )
> ok 15561 space-in-parens valid foo([
> 1,
> 2
> ])
> ok 15562 space-in-parens valid foo([ 1, 2 ])
> ok 15563 space-in-parens valid foo( [ 1, 2 ] )
> ok 15564 space-in-parens valid foo(1, [ 1, 2 ] )
> ok 15565 space-in-parens valid foo( [ 1, 2 ], 1)
> ok 15566 space-in-parens valid foo( [
> 1,
> 2
> ] )
> ok 15567 space-in-parens valid foo(( 1 + 2 ))
> ok 15568 space-in-parens valid foo( ( 1 + 2 ) )
> ok 15569 space-in-parens valid foo( 1 / ( 1 + 2 ))
> ok 15570 space-in-parens valid foo(( 1 + 2 ) / 1 )
> ok 15571 space-in-parens valid foo((
> 1 + 2
> ))
> ok 15572 space-in-parens valid foo((1 + 2))
> ok 15573 space-in-parens valid foo( (1 + 2) )
> ok 15574 space-in-parens valid foo(1 / (1 + 2) )
> ok 15575 space-in-parens valid foo( (1 + 2) / 1)
> ok 15576 space-in-parens valid foo( (
> 1 + 2
> ) )
> ok 15577 space-in-parens valid foo()
> ok 15578 space-in-parens valid foo( )
> ok 15579 space-in-parens valid foo(
> 1 + 2
> )
> ok 15580 space-in-parens valid foo()
> ok 15581 space-in-parens valid foo( )
> ok 15582 space-in-parens valid foo( 
> 1 + 2
>  )
> ok 15583 space-in-parens valid foo({ bar: 'baz' }, [ 1, 2 ])
> ok 15584 space-in-parens valid foo({
> bar: 'baz'
> }, [
> 1,
> 2
> ])
> ok 15585 space-in-parens valid foo(); bar({bar:'baz'}); baz([1,2])
> ok 15586 space-in-parens valid foo( { bar: 'baz' }, [ 1, 2 ] )
> ok 15587 space-in-parens valid foo( {
> bar: 'baz'
> }, [
> 1,
> 2
> ] )
> ok 15588 space-in-parens valid foo( ); bar( {bar:'baz'} ); baz( [1,2] )
> ok 15589 space-in-parens valid foo( { bar: 'baz' } )
> ok 15590 space-in-parens valid foo( { bar: 'baz' } )
> ok 15591 space-in-parens invalid foo( )
> ok 15592 space-in-parens invalid foo( bar)
> ok 15593 space-in-parens invalid foo(bar)
> ok 15594 space-in-parens invalid var x = ( 1 + 2) * 3
> ok 15595 space-in-parens invalid var x = (1 + 2 ) * 3
> ok 15596 space-in-parens invalid foo
> (bar
> )
> 
> ok 15597 space-in-parens invalid bar(baz )
> ok 15598 space-in-parens invalid bar( baz )
> ok 15599 space-in-parens invalid var x = ( 4 + 5) * 6
> ok 15600 space-in-parens invalid var x = (4 + 5 ) * 6
> ok 15601 space-in-parens invalid foo(/* bar */)
> ok 15602 space-in-parens invalid foo(/* bar */baz )
> ok 15603 space-in-parens invalid foo(/* bar */ baz )
> ok 15604 space-in-parens invalid foo( baz/* bar */)
> ok 15605 space-in-parens invalid foo( baz /* bar */)
> ok 15606 space-in-parens invalid foo( /* bar */ )
> ok 15607 space-in-parens invalid foo( /* bar */ baz)
> ok 15608 space-in-parens invalid foo({ bar: 'baz' })
> ok 15609 space-in-parens invalid foo( { bar: 'baz' } )
> ok 15610 space-in-parens invalid foo({ bar: 'baz' })
> ok 15611 space-in-parens invalid foo( { bar: 'baz' } )
> ok 15612 space-in-parens invalid foo( { bar: 'baz' })
> ok 15613 space-in-parens invalid foo( { bar: 'baz' })
> ok 15614 space-in-parens invalid foo({ bar: 'baz' } )
> ok 15615 space-in-parens invalid foo({ bar: 'baz' } )
> ok 15616 space-in-parens invalid foo([ 1, 2 ])
> ok 15617 space-in-parens invalid foo( [ 1, 2 ] )
> ok 15618 space-in-parens invalid foo([ 1, 2 ])
> ok 15619 space-in-parens invalid foo( [ 1, 2 ] )
> ok 15620 space-in-parens invalid foo([ 1, 2 ] )
> ok 15621 space-in-parens invalid foo([ 1, 2 ] )
> ok 15622 space-in-parens invalid foo( [ 1, 2 ])
> ok 15623 space-in-parens invalid foo( [ 1, 2 ])
> ok 15624 space-in-parens invalid (( 1 + 2 ))
> ok 15625 space-in-parens invalid ( ( 1 + 2 ) )
> ok 15626 space-in-parens invalid ( ( 1 + 2 ) )
> ok 15627 space-in-parens invalid ( ( 1 + 2 ) )
> ok 15628 space-in-parens invalid ( ( 1 + 2 ))
> ok 15629 space-in-parens invalid ( (1 + 2))
> ok 15630 space-in-parens invalid (( 1 + 2 ) )
> ok 15631 space-in-parens invalid ((1 + 2) )
> ok 15632 space-in-parens invalid var result = ( 1 / ( 1 + 2 ) ) + 3
> ok 15633 space-in-parens invalid var result = (1 / (1 + 2)) + 3
> ok 15634 space-in-parens invalid var result = ( 1 / ( 1 + 2)) + 3
> ok 15635 space-in-parens invalid foo( )
> ok 15636 space-in-parens invalid foo()
> ok 15637 space-in-parens invalid foo
> (
> bar )
> 
> ok 15638 space-in-parens invalid var foo = `(bar ${(1 + 2 )})`;
> ok 15639 space-in-parens invalid var foo = `(bar ${(1 + 2 )})`;
> ok 15640 space-infix-ops valid a + b
> ok 15641 space-infix-ops valid a + ++b
> ok 15642 space-infix-ops valid a++ + b
> ok 15643 space-infix-ops valid a++ + ++b
> ok 15644 space-infix-ops valid a     + b
> ok 15645 space-infix-ops valid (a) + (b)
> ok 15646 space-infix-ops valid ((a)) + ((b))
> ok 15647 space-infix-ops valid (((a))) + (((b)))
> ok 15648 space-infix-ops valid a + +b
> ok 15649 space-infix-ops valid a + (b)
> ok 15650 space-infix-ops valid a + +(b)
> ok 15651 space-infix-ops valid a + (+(b))
> ok 15652 space-infix-ops valid (a + b) + (c + d)
> ok 15653 space-infix-ops valid a = b
> ok 15654 space-infix-ops valid a ? b : c
> ok 15655 space-infix-ops valid var a = b
> ok 15656 space-infix-ops valid const my_object = {key: 'value'};
> ok 15657 space-infix-ops valid var {a = 0} = bar;
> ok 15658 space-infix-ops valid function foo(a = 0) { }
> ok 15659 space-infix-ops valid a ** b
> ok 15660 space-infix-ops valid a|0
> ok 15661 space-infix-ops valid a |0
> ok 15662 space-infix-ops valid function foo(a: number = 0) { }
> ok 15663 space-infix-ops valid function foo(): Bar { }
> ok 15664 space-infix-ops valid var foo: Bar = '';
> ok 15665 space-infix-ops valid const foo = function(a: number = 0): Bar { };
> ok 15666 space-infix-ops valid type Foo<T> = T;
> ok 15667 space-infix-ops invalid a+b
> ok 15668 space-infix-ops invalid a +b
> ok 15669 space-infix-ops invalid a+ b
> ok 15670 space-infix-ops invalid a||b
> ok 15671 space-infix-ops invalid a ||b
> ok 15672 space-infix-ops invalid a|| b
> ok 15673 space-infix-ops invalid a=b
> ok 15674 space-infix-ops invalid a= b
> ok 15675 space-infix-ops invalid a =b
> ok 15676 space-infix-ops invalid a?b:c
> ok 15677 space-infix-ops invalid a?b : c
> ok 15678 space-infix-ops invalid a ? b:c
> ok 15679 space-infix-ops invalid a? b : c
> ok 15680 space-infix-ops invalid a ?b : c
> ok 15681 space-infix-ops invalid a ? b: c
> ok 15682 space-infix-ops invalid a ? b :c
> ok 15683 space-infix-ops invalid var a=b;
> ok 15684 space-infix-ops invalid var a= b;
> ok 15685 space-infix-ops invalid var a =b;
> ok 15686 space-infix-ops invalid var a = b, c=d;
> ok 15687 space-infix-ops invalid a| 0
> ok 15688 space-infix-ops invalid var output = test || (test && test.value) ||(test2 && test2.value);
> ok 15689 space-infix-ops invalid var output = a ||(b && c.value) || (d && e.value);
> ok 15690 space-infix-ops invalid var output = a|| (b && c.value) || (d && e.value);
> ok 15691 space-infix-ops invalid const my_object={key: 'value'}
> ok 15692 space-infix-ops invalid var {a=0}=bar;
> ok 15693 space-infix-ops invalid function foo(a=0) { }
> ok 15694 space-infix-ops invalid a**b
> ok 15695 space-infix-ops invalid 'foo'in{}
> ok 15696 space-infix-ops invalid 'foo'instanceof{}
> ok 15697 space-infix-ops invalid var a: Foo= b;
> ok 15698 space-infix-ops invalid function foo(a: number=0): Foo { }
> ok 15699 space-unary-ops valid ++this.a
> ok 15700 space-unary-ops valid --this.a
> ok 15701 space-unary-ops valid this.a++
> ok 15702 space-unary-ops valid this.a--
> ok 15703 space-unary-ops valid foo .bar++
> ok 15704 space-unary-ops valid foo.bar --
> ok 15705 space-unary-ops valid delete foo.bar
> ok 15706 space-unary-ops valid delete foo["bar"]
> ok 15707 space-unary-ops valid delete foo.bar
> ok 15708 space-unary-ops valid delete(foo.bar)
> ok 15709 space-unary-ops valid new Foo
> ok 15710 space-unary-ops valid new Foo()
> ok 15711 space-unary-ops valid new [foo][0]
> ok 15712 space-unary-ops valid new[foo][0]
> ok 15713 space-unary-ops valid typeof foo
> ok 15714 space-unary-ops valid typeof{foo:true}
> ok 15715 space-unary-ops valid typeof {foo:true}
> ok 15716 space-unary-ops valid typeof (foo)
> ok 15717 space-unary-ops valid typeof(foo)
> ok 15718 space-unary-ops valid typeof!foo
> ok 15719 space-unary-ops valid void 0
> ok 15720 space-unary-ops valid (void 0)
> ok 15721 space-unary-ops valid (void (0))
> ok 15722 space-unary-ops valid void foo
> ok 15723 space-unary-ops valid void foo
> ok 15724 space-unary-ops valid void(foo)
> ok 15725 space-unary-ops valid -1
> ok 15726 space-unary-ops valid !foo
> ok 15727 space-unary-ops valid !!foo
> ok 15728 space-unary-ops valid foo++
> ok 15729 space-unary-ops valid foo ++
> ok 15730 space-unary-ops valid ++foo
> ok 15731 space-unary-ops valid ++ foo
> ok 15732 space-unary-ops valid function *foo () { yield (0) }
> ok 15733 space-unary-ops valid function *foo() { yield +1 }
> ok 15734 space-unary-ops valid function *foo() { yield* 0 }
> ok 15735 space-unary-ops valid function *foo() { yield * 0 }
> ok 15736 space-unary-ops valid function *foo() { (yield)*0 }
> ok 15737 space-unary-ops valid function *foo() { (yield) * 0 }
> ok 15738 space-unary-ops valid function *foo() { yield*0 }
> ok 15739 space-unary-ops valid function *foo() { yield *0 }
> ok 15740 space-unary-ops valid async function foo() { await {foo: 1} }
> ok 15741 space-unary-ops valid async function foo() { await {bar: 2} }
> ok 15742 space-unary-ops valid async function foo() { await{baz: 3} }
> ok 15743 space-unary-ops valid async function foo() { await {qux: 4} }
> ok 15744 space-unary-ops valid async function foo() { await{foo: 5} }
> ok 15745 space-unary-ops valid foo++
> ok 15746 space-unary-ops valid foo++
> ok 15747 space-unary-ops valid ++foo
> ok 15748 space-unary-ops valid ++foo
> ok 15749 space-unary-ops valid !foo
> ok 15750 space-unary-ops valid !foo
> ok 15751 space-unary-ops valid new foo
> ok 15752 space-unary-ops valid new foo
> ok 15753 space-unary-ops valid function *foo () { yield(0) }
> ok 15754 space-unary-ops valid function *foo () { yield(0) }
> ok 15755 space-unary-ops invalid delete(foo.bar)
> ok 15756 space-unary-ops invalid delete(foo["bar"]);
> ok 15757 space-unary-ops invalid delete (foo.bar)
> ok 15758 space-unary-ops invalid new(Foo)
> ok 15759 space-unary-ops invalid new (Foo)
> ok 15760 space-unary-ops invalid new(Foo())
> ok 15761 space-unary-ops invalid new [foo][0]
> ok 15762 space-unary-ops invalid typeof(foo)
> ok 15763 space-unary-ops invalid typeof (foo)
> ok 15764 space-unary-ops invalid typeof[foo]
> ok 15765 space-unary-ops invalid typeof [foo]
> ok 15766 space-unary-ops invalid typeof{foo:true}
> ok 15767 space-unary-ops invalid typeof {foo:true}
> ok 15768 space-unary-ops invalid typeof!foo
> ok 15769 space-unary-ops invalid void(0);
> ok 15770 space-unary-ops invalid void(foo);
> ok 15771 space-unary-ops invalid void[foo];
> ok 15772 space-unary-ops invalid void{a:0};
> ok 15773 space-unary-ops invalid void (foo)
> ok 15774 space-unary-ops invalid void [foo]
> ok 15775 space-unary-ops invalid ! foo
> ok 15776 space-unary-ops invalid !foo
> ok 15777 space-unary-ops invalid !! foo
> ok 15778 space-unary-ops invalid !!foo
> ok 15779 space-unary-ops invalid - 1
> ok 15780 space-unary-ops invalid -1
> ok 15781 space-unary-ops invalid foo++
> ok 15782 space-unary-ops invalid foo ++
> ok 15783 space-unary-ops invalid ++ foo
> ok 15784 space-unary-ops invalid ++foo
> ok 15785 space-unary-ops invalid foo .bar++
> ok 15786 space-unary-ops invalid foo.bar --
> ok 15787 space-unary-ops invalid + +foo
> ok 15788 space-unary-ops invalid + ++foo
> ok 15789 space-unary-ops invalid - -foo
> ok 15790 space-unary-ops invalid - --foo
> ok 15791 space-unary-ops invalid + -foo
> ok 15792 space-unary-ops invalid function *foo() { yield(0) }
> ok 15793 space-unary-ops invalid function *foo() { yield (0) }
> ok 15794 space-unary-ops invalid function *foo() { yield+0 }
> ok 15795 space-unary-ops invalid foo++
> ok 15796 space-unary-ops invalid foo++
> ok 15797 space-unary-ops invalid ++foo
> ok 15798 space-unary-ops invalid ++foo
> ok 15799 space-unary-ops invalid !foo
> ok 15800 space-unary-ops invalid !foo
> ok 15801 space-unary-ops invalid new(Foo)
> ok 15802 space-unary-ops invalid new(Foo)
> ok 15803 space-unary-ops invalid function *foo() { yield(0) }
> ok 15804 space-unary-ops invalid function *foo() { yield(0) }
> ok 15805 space-unary-ops invalid async function foo() { await{foo: 'bar'} }
> ok 15806 space-unary-ops invalid async function foo() { await{baz: 'qux'} }
> ok 15807 space-unary-ops invalid async function foo() { await {foo: 1} }
> ok 15808 space-unary-ops invalid async function foo() { await {bar: 2} }
> ok 15809 spaced-comment valid // A valid comment starting with space
> var a = 1;
> ok 15810 spaced-comment valid //   A valid comment starting with tab
> var a = 1;
> ok 15811 spaced-comment valid //A valid comment NOT starting with space
> var a = 2;
> ok 15812 spaced-comment valid //-----------------------
> // A comment
> //-----------------------
> ok 15813 spaced-comment valid //-----------------------
> // A comment
> //-----------------------
> ok 15814 spaced-comment valid //===========
> // A comment
> //*************
> ok 15815 spaced-comment valid //
> // A comment
> ok 15816 spaced-comment valid //!@!@!@
> // A comment
> //!@
> ok 15817 spaced-comment valid var a = 1; /**/
> ok 15818 spaced-comment valid var a = 1; /**/
> ok 15819 spaced-comment valid /*****************
>  * A comment
>  *****************/
> ok 15820 spaced-comment valid /*++++++++++++++
>  * A comment
>  +++++++++++++++++*/
> ok 15821 spaced-comment valid /*++++++++++++++
>  + A comment
>  * B comment
>  - C comment
> ----------------*/
> ok 15822 spaced-comment valid //!< docblock style comment
> ok 15823 spaced-comment valid //!< docblock style comment
> ok 15824 spaced-comment valid //----
> // a comment
> //----
> /// xmldoc style comment
> //!< docblock style comment
> ok 15825 spaced-comment valid /*
x*/
> ok 15826 spaced-comment valid ///xmldoc style comment
> ok 15827 spaced-comment valid var a = 1; /* This is an example of a marker in a block comment
> subsequent lines do not count*/
> ok 15828 spaced-comment valid /*!
>  *comment
>  */
> ok 15829 spaced-comment valid /*!
>  *comment
>  */
> ok 15830 spaced-comment valid /**
>  *jsdoc
>  */
> ok 15831 spaced-comment valid /*global ABC*/
> ok 15832 spaced-comment valid /*eslint-env node*/
> ok 15833 spaced-comment valid /*eslint eqeqeq:0, curly: 2*/
> ok 15834 spaced-comment valid /*eslint-disable no-alert, no-console */
> alert()
> console.log()
> /*eslint-enable no-alert */
> ok 15835 spaced-comment valid !/path/to/node
> var a = 3;
> ok 15836 spaced-comment valid !/path/to/node
> var a = 3;
> ok 15837 spaced-comment valid //
> ok 15838 spaced-comment valid //
> 
> ok 15839 spaced-comment valid // space only at start; valid since balanced doesn't apply to line comments
> ok 15840 spaced-comment valid //space only at end; valid since balanced doesn't apply to line comments 
> ok 15841 spaced-comment valid var a = 1; /* A valid comment starting with space */
> ok 15842 spaced-comment valid var a = 1; /*A valid comment NOT starting with space */
> ok 15843 spaced-comment valid function foo(/* height */a) { 
>  }
> ok 15844 spaced-comment valid function foo(/*height */a) { 
>  }
> ok 15845 spaced-comment valid function foo(a/* height */) { 
>  }
> ok 15846 spaced-comment valid /*
>  * Test
>  */
> ok 15847 spaced-comment valid /*
>  *Test
>  */
> ok 15848 spaced-comment valid /*     
>  *Test
>  */
> ok 15849 spaced-comment valid /*
> 
>  *Test
> 
>  */
> ok 15850 spaced-comment valid /*     
> 
>  *Test
> 
>  */
> ok 15851 spaced-comment valid /**
>  *jsdoc
>  */
> ok 15852 spaced-comment valid /**
> 
>  *jsdoc
> 
>  */
> ok 15853 spaced-comment valid /**
>  *jsdoc
>  */
> ok 15854 spaced-comment valid /**   
>  *jsdoc 
>  */
> ok 15855 spaced-comment valid var a = 1; /* comment */
> ok 15856 spaced-comment valid var a = 1; /*comment*/
> ok 15857 spaced-comment valid function foo(/* height */a) { 
>  }
> ok 15858 spaced-comment valid function foo(/*height*/a) { 
>  }
> ok 15859 spaced-comment valid var a = 1; /**/
> ok 15860 spaced-comment valid /*****************
>  * A comment
>  *****************/
> ok 15861 spaced-comment valid /*! comment */
> ok 15862 spaced-comment valid /*!comment*/
> ok 15863 spaced-comment valid /*!
>  *comment
>  */
> ok 15864 spaced-comment valid /*global ABC */
> ok 15865 spaced-comment valid ///--------
> 
> /// test
> 
> ///--------
> ok 15866 spaced-comment valid ///--------
> 
> /// test
> 
> ///--------
> 
> /* blah */
> ok 15867 spaced-comment valid /***
*/
> ok 15868 spaced-comment invalid //An invalid comment NOT starting with space
> var a = 1;
> ok 15869 spaced-comment invalid // An invalid comment starting with space
> var a = 2;
> ok 15870 spaced-comment invalid //   An invalid comment starting with tab
> var a = 2;
> ok 15871 spaced-comment invalid //*********************-
> // Comment Block 3
> //***********************
> ok 15872 spaced-comment invalid //-=-=-=-=-=-=
> // A comment
> //-=-=-=-=-=-=
> ok 15873 spaced-comment invalid //!<docblock style comment
> ok 15874 spaced-comment invalid //!< docblock style comment
> ok 15875 spaced-comment invalid var a = 1; /* A valid comment starting with space */
> ok 15876 spaced-comment invalid var a = 1; /**/
> ok 15877 spaced-comment invalid var a = 1; /*A valid comment NOT starting with space */
> ok 15878 spaced-comment invalid function foo(/* height */a) { 
>  }
> ok 15879 spaced-comment invalid function foo(/*height */a) { 
>  }
> ok 15880 spaced-comment invalid function foo(a/*height */) { 
>  }
> ok 15881 spaced-comment invalid /*     
>  *Test
>  */
> ok 15882 spaced-comment invalid //-----------------------
> // A comment
> //-----------------------
> ok 15883 spaced-comment invalid var a = 1; /**/
> ok 15884 spaced-comment invalid //!< docblock style comment
> ok 15885 spaced-comment invalid /*!
>  *comment
>  */
> ok 15886 spaced-comment invalid ///--------
> 
> /// test
> 
> ///--------
> 
> /*/ blah *//*-----*/
> ok 15887 spaced-comment invalid ///--------
> 
> /// test
> 
> ///--------
> 
> /*/ blah */ /*-----*/
> ok 15888 spaced-comment invalid var a = 1; /* A balanced comment starting with space*/
> ok 15889 spaced-comment invalid var a = 1; /*A balanced comment NOT starting with space */
> ok 15890 spaced-comment invalid function foo(/* height*/a) { 
>  }
> ok 15891 spaced-comment invalid function foo(/*height */a) { 
>  }
> ok 15892 spaced-comment invalid /*! comment*/
> ok 15893 spaced-comment invalid /*!comment */
> ok 15894 spaced-comment invalid !/path/to/node
> !/second/shebang
> var a = 3;
> ok 15895 spaced-comment invalid !/path/to/node
> !/second/shebang
> var a = 3;
> ok 15896 strict valid foo();
> ok 15897 strict valid function foo() { return; }
> ok 15898 strict valid var foo = function() { return; };
> ok 15899 strict valid foo(); 'use strict';
> ok 15900 strict valid function foo() { bar(); 'use strict'; return; }
> ok 15901 strict valid var foo = function() { { 'use strict'; } return; };
> ok 15902 strict valid (function() { bar('use strict'); return; }());
> ok 15903 strict valid var fn = x => 1;
> ok 15904 strict valid var fn = x => { return; };
> ok 15905 strict valid foo();
> ok 15906 strict valid function foo() { return; }
> ok 15907 strict valid // Intentionally empty
> ok 15908 strict valid "use strict"; foo();
> ok 15909 strict valid foo();
> ok 15910 strict valid function foo() { return; }
> ok 15911 strict valid 'use strict'; function foo() { return; }
> ok 15912 strict valid 'use strict'; var foo = function() { return; };
> ok 15913 strict valid 'use strict'; function foo() { bar(); 'use strict'; return; }
> ok 15914 strict valid 'use strict'; var foo = function() { bar(); 'use strict'; return; };
> ok 15915 strict valid 'use strict'; function foo() { return function() { bar(); 'use strict'; return; }; }
> ok 15916 strict valid 'use strict'; var foo = () => { return () => { bar(); 'use strict'; return; }; }
> ok 15917 strict valid function foo() { 'use strict'; return; }
> ok 15918 strict valid function foo() { return; }
> ok 15919 strict valid function foo() { return; }
> ok 15920 strict valid var foo = function() { return; }
> ok 15921 strict valid var foo = function() { 'use strict'; return; }
> ok 15922 strict valid function foo() { 'use strict'; return; } var bar = function() { 'use strict'; bar(); };
> ok 15923 strict valid var foo = function() { 'use strict'; function bar() { return; } bar(); };
> ok 15924 strict valid var foo = () => { 'use strict'; var bar = () => 1; bar(); };
> ok 15925 strict valid var foo = () => { var bar = () => 1; bar(); };
> ok 15926 strict valid class A { constructor() { } }
> ok 15927 strict valid class A { foo() { } }
> ok 15928 strict valid class A { foo() { function bar() { } } }
> ok 15929 strict valid (function() { 'use strict'; function foo(a = 0) { } }())
> ok 15930 strict valid function foo() { 'use strict'; return; }
> ok 15931 strict valid 'use strict'; function foo() { return; }
> ok 15932 strict valid function foo() { return; }
> ok 15933 strict valid function foo() { return; }
> ok 15934 strict valid function foo() { 'use strict'; return; }
> ok 15935 strict valid 'use strict'; function foo() { return; }
> ok 15936 strict valid function foo() { return; }
> ok 15937 strict valid function foo() { return; }
> ok 15938 strict invalid "use strict"; foo();
> ok 15939 strict invalid function foo() { 'use strict'; return; }
> ok 15940 strict invalid var foo = function() { 'use strict'; return; };
> ok 15941 strict invalid function foo() { return function() { 'use strict'; return; }; }
> ok 15942 strict invalid 'use strict'; function foo() { "use strict"; return; }
> ok 15943 strict invalid "use strict"; foo();
> ok 15944 strict invalid 'use strict'; function foo() { 'use strict'; return; }
> ok 15945 strict invalid 'use strict'; function foo() { 'use strict'; return; }
> ok 15946 strict invalid foo();
> ok 15947 strict invalid function foo() { 'use strict'; return; }
> ok 15948 strict invalid var foo = function() { 'use strict'; return; }
> ok 15949 strict invalid var foo = () => { 'use strict'; return () => 1; }
> ok 15950 strict invalid 'use strict'; function foo() { 'use strict'; return; }
> ok 15951 strict invalid 'use strict'; var foo = function() { 'use strict'; return; };
> ok 15952 strict invalid 'use strict'; 'use strict'; foo();
> ok 15953 strict invalid 'use strict'; foo();
> ok 15954 strict invalid 'use strict'; function foo() { 'use strict'; return; }
> ok 15955 strict invalid 'use strict'; function foo() { 'use strict'; return; }
> ok 15956 strict invalid 'use strict'; foo();
> ok 15957 strict invalid 'use strict'; (function() { 'use strict'; return true; }());
> ok 15958 strict invalid (function() { 'use strict'; function f() { 'use strict'; return } return true; }());
> ok 15959 strict invalid (function() { return true; }());
> ok 15960 strict invalid (() => { return true; })();
> ok 15961 strict invalid (() => true)();
> ok 15962 strict invalid var foo = function() { foo(); 'use strict'; return; }; function bar() { foo(); 'use strict'; }
> ok 15963 strict invalid function foo() { 'use strict'; 'use strict'; return; }
> ok 15964 strict invalid var foo = function() { 'use strict'; 'use strict'; return; }
> ok 15965 strict invalid var foo = function() {  'use strict'; return; }
> ok 15966 strict invalid 'use strict'; function foo() { 'use strict'; return; }
> ok 15967 strict invalid 'use strict'; function foo() { 'use strict'; return; }
> ok 15968 strict invalid function foo() { return function() { 'use strict'; return; }; }
> ok 15969 strict invalid var foo = function() { function bar() { 'use strict'; return; } return; }
> ok 15970 strict invalid function foo() { 'use strict'; return; } var bar = function() { return; };
> ok 15971 strict invalid var foo = function() { 'use strict'; return; }; function bar() { return; };
> ok 15972 strict invalid function foo() { 'use strict'; return function() { 'use strict'; 'use strict'; return; }; }
> ok 15973 strict invalid var foo = function() { 'use strict'; function bar() { 'use strict'; 'use strict'; return; } }
> ok 15974 strict invalid var foo = () => { return; };
> ok 15975 strict invalid class A { constructor() { "use strict"; } }
> ok 15976 strict invalid class A { foo() { "use strict"; } }
> ok 15977 strict invalid class A { foo() { function bar() { "use strict"; } } }
> ok 15978 strict invalid 'use strict'; function foo() { return; }
> ok 15979 strict invalid function foo() { 'use strict'; return; }
> ok 15980 strict invalid 'use strict'; function foo() { 'use strict'; return; }
> ok 15981 strict invalid 'use strict'; function foo() { 'use strict'; return; }
> ok 15982 strict invalid 'use strict'; function foo() { return; }
> ok 15983 strict invalid function foo() { return; }
> ok 15984 strict invalid function foo() { 'use strict'; return; }
> ok 15985 strict invalid 'use strict'; function foo() { 'use strict'; return; }
> ok 15986 strict invalid 'use strict'; function foo() { 'use strict'; return; }
> ok 15987 strict invalid function foo(a = 0) { 'use strict' }
> ok 15988 strict invalid (function() { 'use strict'; function foo(a = 0) { 'use strict' } }())
> ok 15989 strict invalid function foo(a = 0) { 'use strict' }
> ok 15990 strict invalid 'use strict'; function foo(a = 0) { 'use strict' }
> ok 15991 strict invalid function foo(a = 0) { 'use strict' }
> ok 15992 strict invalid function foo(a = 0) { 'use strict' }
> ok 15993 strict invalid 'use strict'; function foo(a = 0) { 'use strict' }
> ok 15994 strict invalid function foo(a = 0) { 'use strict' }
> ok 15995 strict invalid (function() { 'use strict'; function foo(a = 0) { 'use strict' } }())
> ok 15996 strict invalid function foo(a = 0) { }
> ok 15997 strict invalid (function() { function foo(a = 0) { } }())
> ok 15998 switch-colon-spacing valid switch(a){}
> ok 15999 switch-colon-spacing valid ({foo:1,bar : 2});
> ok 16000 switch-colon-spacing valid A:foo(); B : foo();
> ok 16001 switch-colon-spacing valid switch(a){case 0: break;}
> ok 16002 switch-colon-spacing valid switch(a){case 0:}
> ok 16003 switch-colon-spacing valid switch(a){case 0
> :
> break;}
> ok 16004 switch-colon-spacing valid switch(a){default: break;}
> ok 16005 switch-colon-spacing valid switch(a){default:}
> ok 16006 switch-colon-spacing valid switch(a){default
> :
> break;}
> ok 16007 switch-colon-spacing valid switch(a){case 0:break;}
> ok 16008 switch-colon-spacing valid switch(a){case 0:}
> ok 16009 switch-colon-spacing valid switch(a){case 0
> :
> break;}
> ok 16010 switch-colon-spacing valid switch(a){default:break;}
> ok 16011 switch-colon-spacing valid switch(a){default:}
> ok 16012 switch-colon-spacing valid switch(a){default
> :
> break;}
> ok 16013 switch-colon-spacing valid switch(a){case 0: break;}
> ok 16014 switch-colon-spacing valid switch(a){case 0:}
> ok 16015 switch-colon-spacing valid switch(a){case 0
> :
> break;}
> ok 16016 switch-colon-spacing valid switch(a){default: break;}
> ok 16017 switch-colon-spacing valid switch(a){default:}
> ok 16018 switch-colon-spacing valid switch(a){default
> :
> break;}
> ok 16019 switch-colon-spacing valid switch(a){case 0 :break;}
> ok 16020 switch-colon-spacing valid switch(a){case 0 :}
> ok 16021 switch-colon-spacing valid switch(a){case 0
> :
> break;}
> ok 16022 switch-colon-spacing valid switch(a){default :break;}
> ok 16023 switch-colon-spacing valid switch(a){default :}
> ok 16024 switch-colon-spacing valid switch(a){default
> :
> break;}
> ok 16025 switch-colon-spacing valid switch(a){case 0 : break;}
> ok 16026 switch-colon-spacing valid switch(a){case 0 :}
> ok 16027 switch-colon-spacing valid switch(a){case 0
> :
> break;}
> ok 16028 switch-colon-spacing valid switch(a){default : break;}
> ok 16029 switch-colon-spacing valid switch(a){default :}
> ok 16030 switch-colon-spacing valid switch(a){default
> :
> break;}
> ok 16031 switch-colon-spacing invalid switch(a){case 0 :break;}
> ok 16032 switch-colon-spacing invalid switch(a){default :break;}
> ok 16033 switch-colon-spacing invalid switch(a){case 0 : break;}
> ok 16034 switch-colon-spacing invalid switch(a){default : break;}
> ok 16035 switch-colon-spacing invalid switch(a){case 0 :break;}
> ok 16036 switch-colon-spacing invalid switch(a){default :break;}
> ok 16037 switch-colon-spacing invalid switch(a){case 0: break;}
> ok 16038 switch-colon-spacing invalid switch(a){default: break;}
> ok 16039 switch-colon-spacing invalid switch(a){case 0:break;}
> ok 16040 switch-colon-spacing invalid switch(a){default:break;}
> ok 16041 switch-colon-spacing invalid switch(a){case 0 /**/ :break;}
> ok 16042 switch-colon-spacing invalid switch(a){case 0 :/**/break;}
> ok 16043 switch-colon-spacing invalid switch(a){case (0) :break;}
> ok 16044 symbol-description valid Symbol("Foo");
> ok 16045 symbol-description valid var foo = "foo"; Symbol(foo);
> ok 16046 symbol-description valid var Symbol = function () {}; Symbol();
> ok 16047 symbol-description valid Symbol(); var Symbol = function () {};
> ok 16048 symbol-description valid function bar() { var Symbol = function () {}; Symbol(); }
> ok 16049 symbol-description valid function bar(Symbol) { Symbol(); }
> ok 16050 symbol-description invalid Symbol();
> ok 16051 symbol-description invalid Symbol(); Symbol = function () {};
> ok 16052 template-curly-spacing valid { foo }
> ok 16053 template-curly-spacing valid `${foo} ${bar}`
> ok 16054 template-curly-spacing valid `${foo} ${bar} ${
>   baz
> }`
> ok 16055 template-curly-spacing valid `${ foo } ${ bar } ${
>   baz
> }`
> ok 16056 template-curly-spacing valid tag`${foo} ${bar}`
> ok 16057 template-curly-spacing valid tag`${foo} ${bar} ${
>   baz
> }`
> ok 16058 template-curly-spacing valid tag`${ foo } ${ bar } ${
>   baz
> }`
> ok 16059 template-curly-spacing invalid `${ foo } ${ bar }`
> ok 16060 template-curly-spacing invalid `${ foo } ${ bar }`
> ok 16061 template-curly-spacing invalid `${foo} ${bar}`
> ok 16062 template-curly-spacing invalid tag`${ foo } ${ bar }`
> ok 16063 template-curly-spacing invalid tag`${ foo } ${ bar }`
> ok 16064 template-curly-spacing invalid tag`${foo} ${bar}`
> ok 16065 template-tag-spacing valid tag`name`
> ok 16066 template-tag-spacing valid tag`name`
> ok 16067 template-tag-spacing valid tag `name`
> ok 16068 template-tag-spacing valid tag`hello ${name}`
> ok 16069 template-tag-spacing valid tag`hello ${name}`
> ok 16070 template-tag-spacing valid tag `hello ${name}`
> ok 16071 template-tag-spacing valid tag/*here's a comment*/`Hello world`
> ok 16072 template-tag-spacing valid tag/*here's a comment*/`Hello world`
> ok 16073 template-tag-spacing valid tag /*here's a comment*/`Hello world`
> ok 16074 template-tag-spacing valid tag/*here's a comment*/ `Hello world`
> ok 16075 template-tag-spacing valid new tag`name`
> ok 16076 template-tag-spacing valid new tag`name`
> ok 16077 template-tag-spacing valid new tag `name`
> ok 16078 template-tag-spacing valid new tag`hello ${name}`
> ok 16079 template-tag-spacing valid new tag`hello ${name}`
> ok 16080 template-tag-spacing valid new tag `hello ${name}`
> ok 16081 template-tag-spacing valid (tag)`name`
> ok 16082 template-tag-spacing valid (tag)`name`
> ok 16083 template-tag-spacing valid (tag) `name`
> ok 16084 template-tag-spacing valid (tag)`hello ${name}`
> ok 16085 template-tag-spacing valid (tag)`hello ${name}`
> ok 16086 template-tag-spacing valid (tag) `hello ${name}`
> ok 16087 template-tag-spacing valid new (tag)`name`
> ok 16088 template-tag-spacing valid new (tag)`name`
> ok 16089 template-tag-spacing valid new (tag) `name`
> ok 16090 template-tag-spacing valid new (tag)`hello ${name}`
> ok 16091 template-tag-spacing valid new (tag)`hello ${name}`
> ok 16092 template-tag-spacing valid new (tag) `hello ${name}`
> ok 16093 template-tag-spacing invalid tag `name`
> ok 16094 template-tag-spacing invalid tag `name`
> ok 16095 template-tag-spacing invalid tag`name`
> ok 16096 template-tag-spacing invalid tag /*here's a comment*/`Hello world`
> ok 16097 template-tag-spacing invalid tag/*here's a comment*/ `Hello world`
> ok 16098 template-tag-spacing invalid tag/*here's a comment*/`Hello world`
> ok 16099 template-tag-spacing invalid tag // here's a comment 
> `bar`
> ok 16100 template-tag-spacing invalid tag // here's a comment 
> `bar`
> ok 16101 template-tag-spacing invalid tag `hello ${name}`
> ok 16102 template-tag-spacing invalid tag `hello ${name}`
> ok 16103 template-tag-spacing invalid tag`hello ${name}`
> ok 16104 template-tag-spacing invalid new tag `name`
> ok 16105 template-tag-spacing invalid new tag `name`
> ok 16106 template-tag-spacing invalid new tag`name`
> ok 16107 template-tag-spacing invalid new tag `hello ${name}`
> ok 16108 template-tag-spacing invalid new tag `hello ${name}`
> ok 16109 template-tag-spacing invalid new tag`hello ${name}`
> ok 16110 template-tag-spacing invalid (tag) `name`
> ok 16111 template-tag-spacing invalid (tag) `name`
> ok 16112 template-tag-spacing invalid (tag)`name`
> ok 16113 template-tag-spacing invalid (tag) `hello ${name}`
> ok 16114 template-tag-spacing invalid (tag) `hello ${name}`
> ok 16115 template-tag-spacing invalid (tag)`hello ${name}`
> ok 16116 template-tag-spacing invalid new (tag) `name`
> ok 16117 template-tag-spacing invalid new (tag) `name`
> ok 16118 template-tag-spacing invalid new (tag)`name`
> ok 16119 template-tag-spacing invalid new (tag) `hello ${name}`
> ok 16120 template-tag-spacing invalid new (tag) `hello ${name}`
> ok 16121 template-tag-spacing invalid new (tag)`hello ${name}`
> ok 16122 unicode-bom valid  var a = 123;
> ok 16123 unicode-bom valid var a = 123;
> ok 16124 unicode-bom valid var a = 123; 
> ok 16125 unicode-bom invalid var a = 123;
> ok 16126 unicode-bom invalid  // here's a comment 
> var a = 123;
> ok 16127 unicode-bom invalid  var a = 123;
> ok 16128 unicode-bom invalid  var a = 123;
> ok 16129 use-isnan valid var x = NaN;
> ok 16130 use-isnan valid isNaN(NaN) === true;
> ok 16131 use-isnan valid isNaN(123) !== true;
> ok 16132 use-isnan valid Number.isNaN(NaN) === true;
> ok 16133 use-isnan valid Number.isNaN(123) !== true;
> ok 16134 use-isnan valid foo(NaN + 1);
> ok 16135 use-isnan valid foo(1 + NaN);
> ok 16136 use-isnan valid foo(NaN - 1)
> ok 16137 use-isnan valid foo(1 - NaN)
> ok 16138 use-isnan valid foo(NaN * 2)
> ok 16139 use-isnan valid foo(2 * NaN)
> ok 16140 use-isnan valid foo(NaN / 2)
> ok 16141 use-isnan valid foo(2 / NaN)
> ok 16142 use-isnan valid var x; if (x = NaN) { }
> ok 16143 use-isnan invalid 123 == NaN;
> ok 16144 use-isnan invalid 123 === NaN;
> ok 16145 use-isnan invalid NaN === "abc";
> ok 16146 use-isnan invalid NaN == "abc";
> ok 16147 use-isnan invalid 123 != NaN;
> ok 16148 use-isnan invalid 123 !== NaN;
> ok 16149 use-isnan invalid NaN !== "abc";
> ok 16150 use-isnan invalid NaN != "abc";
> ok 16151 use-isnan invalid NaN < "abc";
> ok 16152 use-isnan invalid "abc" < NaN;
> ok 16153 use-isnan invalid NaN > "abc";
> ok 16154 use-isnan invalid "abc" > NaN;
> ok 16155 use-isnan invalid NaN <= "abc";
> ok 16156 use-isnan invalid "abc" <= NaN;
> ok 16157 use-isnan invalid NaN >= "abc";
> ok 16158 use-isnan invalid "abc" >= NaN;
> ok 16159 valid-jsdoc valid /**
> * Description
>  * @param {Object[]} screenings Array of screenings.
>  * @param {Number} screenings[].timestamp its a time stamp 
>  @return {void} */
> function foo(){}
> ok 16160 valid-jsdoc valid /**
> * Description
>  */
> var x = new Foo(function foo(){})
> ok 16161 valid-jsdoc valid /**
> * Description
> * @returns {void} */
> function foo(){}
> ok 16162 valid-jsdoc valid /**
> * Description
> * @returns {undefined} */
> function foo(){}
> ok 16163 valid-jsdoc valid /**
> * Description
> * @alias Testtest
> * @returns {void} */
> function foo(){}
> ok 16164 valid-jsdoc valid /**
> * Description
> *@extends MyClass
> * @returns {void} */
> function foo(){}
> ok 16165 valid-jsdoc valid /**
> * Description
> * @constructor */
> function Foo(){}
> ok 16166 valid-jsdoc valid /**
> * Description
> * @class */
> function Foo(){}
> ok 16167 valid-jsdoc valid /**
> * Description
> * @param {string} p bar
> * @returns {string} desc */
> function foo(p){}
> ok 16168 valid-jsdoc valid /**
> * Description
> * @arg {string} p bar
> * @returns {string} desc */
> function foo(p){}
> ok 16169 valid-jsdoc valid /**
> * Description
> * @argument {string} p bar
> * @returns {string} desc */
> function foo(p){}
> ok 16170 valid-jsdoc valid /**
> * Description
> * @param {string} [p] bar
> * @returns {string} desc */
> function foo(p){}
> ok 16171 valid-jsdoc valid /**
> * Description
> * @param {Object} p bar
> * @param {string} p.name bar
> * @returns {string} desc */
> Foo.bar = function(p){};
> ok 16172 valid-jsdoc valid (function(){
> /**
> * Description
> * @param {string} p bar
> * @returns {string} desc */
> function foo(p){}
> }())
> ok 16173 valid-jsdoc valid var o = {
> /**
> * Description
> * @param {string} p bar
> * @returns {string} desc */
> foo: function(p){}
> };
> ok 16174 valid-jsdoc valid /**
> * Description
> * @param {Object} p bar
> * @param {string[]} p.files qux
> * @param {Function} cb baz
> * @returns {void} */
> function foo(p, cb){}
> ok 16175 valid-jsdoc valid /**
> * Description
> * @override */
> function foo(arg1, arg2){ return ''; }
> ok 16176 valid-jsdoc valid /**
> * Description
> * @inheritdoc */
> function foo(arg1, arg2){ return ''; }
> ok 16177 valid-jsdoc valid /**
> * Description
> * @inheritDoc */
> function foo(arg1, arg2){ return ''; }
> ok 16178 valid-jsdoc valid /**
> * Description
> * @Returns {void} */
> function foo(){}
> ok 16179 valid-jsdoc valid call(
>   /**
>    * Doc for a function expression in a call expression.
>    * @param {string} argName This is the param description.
>    * @return {string} This is the return description.
>    */
>   function(argName) {
>     return 'the return';
>   }
> );
> 
> ok 16180 valid-jsdoc valid /**
> * Create a new thing.
> */
> var thing = new Thing({
>   foo: function() {
>     return 'bar';
>   }
> });
> 
> ok 16181 valid-jsdoc valid /**
> * Create a new thing.
> */
> var thing = new Thing({
>   /**
>    * @return {string} A string.
>    */
>   foo: function() {
>     return 'bar';
>   }
> });
> 
> ok 16182 valid-jsdoc valid /**
> * Description
> * @return {void} */
> function foo(){}
> ok 16183 valid-jsdoc valid /**
> * Description
> * @param {string} p bar
> */
> Foo.bar = (p) => {};
> ok 16184 valid-jsdoc valid /**
> * Description
> * @param {string} p bar
> */
> Foo.bar = function({p}){};
> ok 16185 valid-jsdoc valid /**
> * Description
> * @param {string} p bar
> */
> Foo.bar = function(p){};
> ok 16186 valid-jsdoc valid /**
> * Description
> * @param {string} p mytest
> */
> Foo.bar = function(p){var t = function(){return p;}};
> ok 16187 valid-jsdoc valid /**
> * Description
> * @param {string} p mytest
> */
> Foo.bar = function(p){function func(){return p;}};
> ok 16188 valid-jsdoc valid /**
> * Description
> * @param {string} p mytest
> */
> Foo.bar = function(p){var t = false; if(t){ return; }};
> ok 16189 valid-jsdoc valid /**
> * Description
> * @param {string} p mytest
> * @returns {void} */
> Foo.bar = function(p){var t = false; if(t){ return; }};
> ok 16190 valid-jsdoc valid /**
> * Description
> * @param {string} p mytest
> */
> Foo.bar = function(p){var t = function(){function name(){return p;}}};
> ok 16191 valid-jsdoc valid /**
> * Description
> * @param {string} p mytest
> */
> Foo.bar = function(p){var t = function(){function name(){}; return name;}};
> ok 16192 valid-jsdoc valid /**
> * Description
> * @param {string} p
> * @returns {void}*/
> Foo.bar = function(p){var t = function(){function name(){}; return name;}};
> ok 16193 valid-jsdoc valid /**
> * Description
> * @param {string} p mytest
> * @returns {Object}*/
> Foo.bar = function(p){return name;};
> ok 16194 valid-jsdoc valid var obj = {
>  /**
>  * Getter
>  * @type {string}
>  */
>  get location() {
>  return this._location;
>  }
>  }
> ok 16195 valid-jsdoc valid var obj = {
>  /**
>  * Setter
>  * @param {string} value The location
>  */
>  set location(value) {
>  this._location = value;
>  }
>  }
> ok 16196 valid-jsdoc valid /**
>  * Description for A.
>  */
>  class A {
>  /**
>  * Description for constructor.
>  * @param {object[]} xs - xs
>  */
>  constructor(xs) {
>  /**
>  * Description for this.xs;
>  * @type {object[]}
>  */
>  this.xs = xs.filter(x => x != null);
>  }
> }
> ok 16197 valid-jsdoc valid /** @returns {object} foo */ var foo = () => bar();
> ok 16198 valid-jsdoc valid /** @returns {object} foo */ var foo = () => { return bar(); };
> ok 16199 valid-jsdoc valid /** foo */ var foo = () => { bar(); };
> ok 16200 valid-jsdoc valid /**
> * Start with caps and end with period.
> * @return {void} */
> function foo(){}
> ok 16201 valid-jsdoc valid /** Foo 
> @return {void} Foo
>  */
> function foo(){}
> ok 16202 valid-jsdoc valid /** Foo 
> @return Foo
>  */
> function foo(){}
> ok 16203 valid-jsdoc valid /**
> * Description
> * @param p bar
> * @returns {void}*/
> Foo.bar = function(p){var t = function(){function name(){}; return name;}};
> ok 16204 valid-jsdoc valid /**
>  * A thing interface. 
>  * @interface
>  */
> function Thing() {}
> ok 16205 valid-jsdoc valid /**
>  * Description for A.
>  */
> class A {
>     /**
>      * Description for constructor.
>      * @param {object[]} xs - xs
>      */
>     constructor(xs) {
>         this.a = xs;    }
> }
> ok 16206 valid-jsdoc valid /**
>  * Description for A.
>  */
> class A {
>     /**
>      * Description for method.
>      * @param {object[]} xs - xs
>      */
>     print(xs) {
>         this.a = xs;    }
> }
> ok 16207 valid-jsdoc valid /**
>  * Description for A.
>  */
> class A {
>     /**
>      * Description for constructor.
>      * @param {object[]} xs - xs
>      * @returns {void}
>      */
>     constructor(xs) {
>         this.a = xs;    }
>     /**
>      * Description for method.
>      * @param {object[]} xs - xs
>      * @returns {void}
>      */
>     print(xs) {
>         this.a = xs;    }
> }
> ok 16208 valid-jsdoc valid /**
>  * Use of this with a 'namepath'.
>  * @this some.name
>  */
> function foo() {}
> ok 16209 valid-jsdoc valid /**
>  * Use of this with a type expression.
>  * @this {some.name}
>  */
> function foo() {}
> ok 16210 valid-jsdoc valid /**
>  * An async function. Options requires return.
>  * @returns {Promise} that is empty
>  */
> async function a() {}
> ok 16211 valid-jsdoc valid /**
>  * An async function. Options do not require return.
>  * @returns {Promise} that is empty
>  */
> async function a() {}
> ok 16212 valid-jsdoc valid /**
>  * An async function. Options do not require return.
>  */
> async function a() {}
> ok 16213 valid-jsdoc valid /**
> * Foo
> * @param {Array.<*>} hi - desc
> * @returns {*} returns a node
> */
> function foo(hi){}
> ok 16214 valid-jsdoc valid /**
> * Foo
> * @param {string} hi - desc
> * @returns {ASTNode} returns a node
> */
> function foo(hi){}
> ok 16215 valid-jsdoc valid /**
> * Foo
> * @param {{20:string}} hi - desc
> * @returns {Astnode} returns a node
> */
> function foo(hi){}
> ok 16216 valid-jsdoc valid /**
> * Foo
> * @param {{String:foo}} hi - desc
> * @returns {ASTNode} returns a node
> */
> function foo(hi){}
> ok 16217 valid-jsdoc valid /**
> * Foo
> * @param {String|number|Test} hi - desc
> * @returns {Astnode} returns a node
> */
> function foo(hi){}
> ok 16218 valid-jsdoc valid /**
> * Foo
> * @param {Array.<string>} hi - desc
> * @returns {Astnode} returns a node
> */
> function foo(hi){}
> ok 16219 valid-jsdoc valid /**
>  * Test dash and slash.
>  * @extends module:stb/emitter~Emitter
>  */
> function foo() {}
> ok 16220 valid-jsdoc valid /**
>  * Test dash and slash.
>  * @requires module:config
>  * @requires module:modules/notifications
>  */
> function foo() {}
> ok 16221 valid-jsdoc valid /**
>  * Foo
>  * @module module-name
>  */
> function foo() {}
> ok 16222 valid-jsdoc valid /**
>  * Foo
>  * @alias module:module-name
>  */
> function foo() {}
> ok 16223 valid-jsdoc valid /**
> * Foo
> * @param {Array.<string>} hi - desc
> * @returns {Array.<string|number>} desc
> */
> function foo(hi){}
> ok 16224 valid-jsdoc valid /**
> * Foo
> * @param {Array.<string|number>} hi - desc
> * @returns {Array.<string>} desc
> */
> function foo(hi){}
> ok 16225 valid-jsdoc valid /**
> * Foo
> * @param {Array.<{id: number, votes: number}>} hi - desc
> * @returns {Array.<{summary: string}>} desc
> */
> function foo(hi){}
> ok 16226 valid-jsdoc valid /**
> * Foo
> * @param {Array.<[string, number]>} hi - desc
> * @returns {Array.<[string, string]>} desc
> */
> function foo(hi){}
> ok 16227 valid-jsdoc valid /**
> * Foo
> * @param {Object<string,Object<string, number>>} hi - because why not
> * @returns {Boolean} desc
> */
> function foo(hi){}
> ok 16228 valid-jsdoc valid /**
> * Description
> * @param {string} a bar
> * @returns {string} desc */
> function foo(a = 1){}
> ok 16229 valid-jsdoc valid /**
> * Description
> * @param {string} b bar
> * @param {string} a bar
> * @returns {string} desc */
> function foo(b, a = 1){}
> ok 16230 valid-jsdoc valid /**
> * Description
> * @abstract
> * @returns {Number} desc
> */
> function foo(){ throw new Error('Not Implemented'); }
> ok 16231 valid-jsdoc valid /**
> * Description
> * @return {Number} desc
> * @constructor 
> * @override
> * @abstract
> * @interface
> * @param {string} hi - desc
> */
> function foo(hi){ return 1; }
> ok 16232 valid-jsdoc valid /**
> * Description
> * @returns {Number} desc
> * @class 
> * @inheritdoc
> * @virtual
> * @interface
> * @param {string} hi - desc
> */
> function foo(hi){ return 1; }
> ok 16233 valid-jsdoc valid /**
> * Description
> * @return {Number} desc
> * @constructor 
> * @override
> * @abstract
> * @interface
> * @arg {string} hi - desc
> */
> function foo(hi){ return 1; }
> ok 16234 valid-jsdoc valid /**
> * Description
> * @returns {Number} desc
> * @class 
> * @inheritdoc
> * @virtual
> * @interface
> * @arg {string} hi - desc
> */
> function foo(hi){ return 1; }
> ok 16235 valid-jsdoc valid /**
> * Description
> * @return {Number} desc
> * @constructor 
> * @override
> * @abstract
> * @interface
> * @argument {string} hi - desc
> */
> function foo(hi){ return 1; }
> ok 16236 valid-jsdoc valid /**
> * Description
> * @returns {Number} desc
> * @class 
> * @inheritdoc
> * @virtual
> * @interface
> * @argument {string} hi - desc
> */
> function foo(hi){ return 1; }
> ok 16237 valid-jsdoc valid /**
> * Description
> * @constructor 
> * @override
> * @abstract
> * @interface
> * @param {string} hi - desc
> * @return {Number} desc
> */
> function foo(hi){ return 1; }
> ok 16238 valid-jsdoc valid /**
> * Description
> * @class 
> * @inheritdoc
> * @virtual
> * @interface
> * @arg {string} hi - desc
> * @return {Number} desc
> */
> function foo(hi){ return 1; }
> ok 16239 valid-jsdoc valid /**
> * Description
> * @argument {string} hi - desc
> * @return {Number} desc
> */
> function foo(hi){ return 1; }
> ok 16240 valid-jsdoc valid /**
> * Description
> * @constructor 
> * @override
> * @abstract
> * @interface
> * @param {string} hi - desc
> * @returns {Number} desc
> */
> function foo(hi){ return 1; }
> ok 16241 valid-jsdoc valid /**
> * Description
> * @class 
> * @inheritdoc
> * @virtual
> * @interface
> * @arg {string} hi - desc
> * @returns {Number} desc
> */
> function foo(hi){ return 1; }
> ok 16242 valid-jsdoc valid /**
> * Description
> * @argument {string} hi - desc
> * @returns {Number} desc
> */
> function foo(hi){ return 1; }
> ok 16243 valid-jsdoc valid /**
> * Description
> * @override
> * @abstract
> * @interface
> * @param {string} hi - desc
> * @return {Number} desc
> * @constructor
> */
> function foo(hi){ return 1; }
> ok 16244 valid-jsdoc valid /**
> * Description
> * @inheritdoc
> * @virtual
> * @interface
> * @arg {string} hi - desc
> * @returns {Number} desc
> * @constructor
> */
> function foo(hi){ return 1; }
> ok 16245 valid-jsdoc valid /**
> * Description
> * @argument {string} hi - desc
> * @constructor
> */
> function foo(hi){}
> ok 16246 valid-jsdoc valid /**
> * Description
> * @override
> * @abstract
> * @interface
> * @param {string} hi - desc
> * @return {Number} desc
> * @class
> */
> function foo(hi){ return 1; }
> ok 16247 valid-jsdoc valid /**
> * Description
> * @inheritdoc
> * @virtual
> * @interface
> * @arg {string} hi - desc
> * @returns {Number} desc
> * @class
> */
> function foo(hi){ return 1; }
> ok 16248 valid-jsdoc valid /**
> * Description
> * @argument {string} hi - desc
> * @class 
> */
> function foo(hi){}
> ok 16249 valid-jsdoc valid /**
> * Description
> * @abstract
> * @interface
> * @param {string} hi - desc
> * @return {Number} desc
> * @constructor
> * @override
> */
> function foo(hi){ return 1; }
> ok 16250 valid-jsdoc valid /**
> * Description
> * @virtual
> * @interface
> * @arg {string} hi - desc
> * @returns {Number} desc
> * @class
> * @override
> */
> function foo(hi){ return 1; }
> ok 16251 valid-jsdoc valid /**
> * Description
> * @argument {string} hi - desc
> * @override
> */
> function foo(hi){}
> ok 16252 valid-jsdoc valid /**
> * Description
> * @abstract
> * @interface
> * @param {string} hi - desc
> * @return {Number} desc
> * @constructor
> * @inheritdoc
> */
> function foo(hi){ return 1; }
> ok 16253 valid-jsdoc valid /**
> * Description
> * @virtual
> * @interface
> * @arg {string} hi - desc
> * @returns {Number} desc
> * @class
> * @inheritdoc
> */
> function foo(hi){ return 1; }
> ok 16254 valid-jsdoc valid /**
> * Description
> * @argument {string} hi - desc
> * @inheritdoc
> */
> function foo(hi){}
> ok 16255 valid-jsdoc valid /**
> * Description
> * @interface
> * @param {string} hi - desc
> * @return {Number} desc
> * @constructor
> * @override
> * @abstract
> */
> function foo(hi){ return 1; }
> ok 16256 valid-jsdoc valid /**
> * Description
> * @interface
> * @arg {string} hi - desc
> * @returns {Number} desc
> * @class
> * @override
> * @abstract
> */
> function foo(hi){ return 1; }
> ok 16257 valid-jsdoc valid /**
> * Description
> * @argument {string} hi - desc
> * @abstract
> */
> function foo(hi){}
> ok 16258 valid-jsdoc valid /**
> * Description
> * @interface
> * @param {string} hi - desc
> * @return {Number} desc
> * @constructor
> * @override
> * @virtual
> */
> function foo(hi){ return 1; }
> ok 16259 valid-jsdoc valid /**
> * Description
> * @interface
> * @arg {string} hi - desc
> * @returns {Number} desc
> * @class
> * @override
> * @virtual
> */
> function foo(hi){ return 1; }
> ok 16260 valid-jsdoc valid /**
> * Description
> * @argument {string} hi - desc
> * @virtual
> */
> function foo(hi){}
> ok 16261 valid-jsdoc valid /**
> * Description
> * @param {string} hi - desc
> * @return {Number} desc
> * @constructor 
> * @override
> * @abstract
> * @interface
> */
> function foo(hi){ return 1; }
> ok 16262 valid-jsdoc valid /**
> * Description
> * @arg {string} hi - desc
> * @returns {Number} desc
> * @class
> * @override
> * @virtual
> * @interface
> */
> function foo(hi){ return 1; }
> ok 16263 valid-jsdoc valid /**
> * Description
> * @argument {string} hi - desc
> * @interface
> */
> function foo(hi){}
> ok 16264 valid-jsdoc valid /**
> * Description
> * @virtual
> * @returns {Number} desc
> */
> function foo(){ throw new Error('Not Implemented'); }
> ok 16265 valid-jsdoc valid /**
> * Description
> * @abstract
> * @returns {Number} desc
> */
> function foo(){ throw new Error('Not Implemented'); }
> ok 16266 valid-jsdoc valid /**
> * Description
> * @abstract
> * @returns {Number} desc
> */
> function foo(){}
> ok 16267 valid-jsdoc valid /**
>  * @param {string} a - a.
>  * @param {object} [obj] - obj.
>  * @param {string} obj.b - b.
>  * @param {string} obj.c - c.
>  * @returns {void}
>  */
> function foo(a, {b, c} = {}) {
>     // empty
> }
> ok 16268 valid-jsdoc valid /**
>  * @param {string} a - a.
>  * @param {any[]} [list] - list.
>  * @returns {void}
>  */
> function foo(a, [b, c] = []) {
>     // empty
> }
> ok 16269 valid-jsdoc valid /**
> * Foo
> * @param {{foo}} hi - desc
> * @returns {ASTNode} returns a node
> */
> function foo(hi){}
> ok 16270 valid-jsdoc valid /**
> * Foo
> * @param {{foo:String, bar, baz:Array}} hi - desc
> * @returns {ASTNode} returns a node
> */
> function foo(hi){}
> ok 16271 valid-jsdoc valid /**
> * Foo
> * @param {{String}} hi - desc
> * @returns {ASTNode} returns a node
> */
> function foo(hi){}
> ok 16272 valid-jsdoc valid /**
> * Foo
> * @param {{foo:string, astnode:Object, bar}} hi - desc
> * @returns {ASTNode} returns a node
> */
> function foo(hi){}
> ok 16273 valid-jsdoc invalid call(
>   /**
>    * Doc for a function expression in a call expression.
>    * @param {string} bogusName This is the param description.
>    * @return {string} This is the return description.
>    */
>   function(argName) {
>     return 'the return';
>   }
> );
> 
> ok 16274 valid-jsdoc invalid /** @@foo */
> function foo(){}
> ok 16275 valid-jsdoc invalid /**
> * Create a new thing.
> */
> var thing = new Thing({
>   /**
>    * Missing return tag.
>    */
>   foo: function() {
>     return 'bar';
>   }
> });
> 
> ok 16276 valid-jsdoc invalid /** @@returns {void} Foo */
> function foo(){}
> ok 16277 valid-jsdoc invalid /** Foo 
> @returns {void Foo
>  */
> function foo(){}
> ok 16278 valid-jsdoc invalid /** Foo 
> @return {void} Foo
>  */
> function foo(){}
> ok 16279 valid-jsdoc invalid /** Foo 
> @argument {int} bar baz
>  */
> function foo(bar){}
> ok 16280 valid-jsdoc invalid /** Foo 
>  */
> function foo(){}
> ok 16281 valid-jsdoc invalid /** Foo 
> @return {void} Foo
>  */
> foo.bar = () => {}
> ok 16282 valid-jsdoc invalid /** Foo 
> @param {void Foo
>  */
> function foo(){}
> ok 16283 valid-jsdoc invalid /** Foo 
> @param {} p Bar
>  */
> function foo(){}
> ok 16284 valid-jsdoc invalid /** Foo 
> @param {void Foo */
> function foo(){}
> ok 16285 valid-jsdoc invalid /** Foo
> * @param p Desc 
> */
> function foo(){}
> ok 16286 valid-jsdoc invalid /**
> * Foo
> * @param {string} p 
> */
> function foo(){}
> ok 16287 valid-jsdoc invalid /**
> * Foo
> * @param {string} p 
> */
> var foo = function(){}
> ok 16288 valid-jsdoc invalid /**
> * Foo
> * @param {string} p 
> */
> var foo = 
> function(){}
> ok 16289 valid-jsdoc invalid /**
>  * Description for a
>  */
> var A = 
>   class {
>     /**
>      * Description for method.
>      * @param {object[]} xs - xs
>      */
>     print(xs) {
>         this.a = xs;    }
> };
> ok 16290 valid-jsdoc invalid /**
> * Foo
> * @returns {string} 
> */
> function foo(){}
> ok 16291 valid-jsdoc invalid /**
> * Foo
> * @returns {string} something 
> */
> function foo(p){}
> ok 16292 valid-jsdoc invalid /**
> * Foo
> * @returns {string} something 
> */
> var foo = 
> function foo(a = 1){}
> ok 16293 valid-jsdoc invalid /**
> * Foo
> * @param {string} a Description 
> * @param {string} b Description 
> * @returns {string} something 
> */
> var foo = 
> function foo(b, a = 1){}
> ok 16294 valid-jsdoc invalid /**
> * Foo
> * @param {string} p desc
> * @param {string} p desc 
> */
> function foo(){}
> ok 16295 valid-jsdoc invalid /**
> * Foo
> * @param {string} a desc
> @returns {void}*/
> function foo(b){}
> ok 16296 valid-jsdoc invalid /**
> * Foo
> * @override
> * @param {string} a desc
>  */
> function foo(b){}
> ok 16297 valid-jsdoc invalid /**
> * Foo
> * @inheritdoc
> * @param {string} a desc
>  */
> function foo(b){}
> ok 16298 valid-jsdoc invalid /**
> * Foo
> * @param {string} a desc
> */
> function foo(a){var t = false; if(t) {return t;}}
> ok 16299 valid-jsdoc invalid /**
> * Foo
> * @param {string} a desc
> */
> function foo(a){var t = false; if(t) {return null;}}
> ok 16300 valid-jsdoc invalid /**
> * Foo
> * @param {string} a desc
> @returns {MyClass}*/
> function foo(a){var t = false; if(t) {process(t);}}
> ok 16301 valid-jsdoc invalid /**
>  * Does something. 
> * @param {string} a - this is a 
> * @return {Array<number>} The result of doing it 
> */
>  export function doSomething(a) { }
> ok 16302 valid-jsdoc invalid /**
>  * Does something. 
> * @param {string} a - this is a 
> * @return {Array<number>} The result of doing it 
> */
>  export default function doSomething(a) { }
> ok 16303 valid-jsdoc invalid /** foo */ var foo = () => bar();
> ok 16304 valid-jsdoc invalid /** foo */ var foo = () => { return bar(); };
> ok 16305 valid-jsdoc invalid /** @returns {object} foo */ var foo = () => { bar(); };
> ok 16306 valid-jsdoc invalid /**
> * @param fields [Array]
>  */
>  function foo(){}
> ok 16307 valid-jsdoc invalid /**
> * Start with caps and end with period
> * @return {void} */
> function foo(){}
> ok 16308 valid-jsdoc invalid /** Foo 
> @return Foo
>  */
> function foo(){}
> ok 16309 valid-jsdoc invalid /** Foo 
> @return sdf
>  */
> function foo(){}
> ok 16310 valid-jsdoc invalid /**
>  * Description for A
>  */
> class A {
>     /**
>      * Description for constructor
>      * @param {object[]} xs - xs
>      */
>     constructor(xs) {
>         this.a = xs;    }
> }
> ok 16311 valid-jsdoc invalid /**
>  * Description for a
>  */
> var A = class {
>     /**
>      * Description for constructor.
>      * @param {object[]} xs - xs
>      */
>     print(xs) {
>         this.a = xs;    }
> };
> ok 16312 valid-jsdoc invalid /**
>  * Description for A.
>  */
> class A {
>     /**
>      * Description for constructor.
>      * @param {object[]} xs - xs
>      * @returns {void}
>      */
>     constructor(xs) {
>         this.a = xs;    }
>     /**
>      * Description for method.
>      */
>     print(xs) {
>         this.a = xs;    }
> }
> ok 16313 valid-jsdoc invalid /**
>  * Use of this with an invalid type expression
>  * @this {not.a.valid.type.expression
>  */
> function foo() {}
> ok 16314 valid-jsdoc invalid /**
>  * Use of this with a type that is not a member expression
>  * @this {Array<string>}
>  */
> function foo() {}
> ok 16315 valid-jsdoc invalid /**
>  * An async function. Options requires return.
>  */
> async function a() {}
> ok 16316 valid-jsdoc invalid /**
> * Foo
> * @param {String} hi - desc
> * @returns {Astnode} returns a node
> */
> function foo(hi){}
> ok 16317 valid-jsdoc invalid /**
> * Foo
> * @param {{20:String}} hi - desc
> * @returns {Astnode} returns a node
> */
> function foo(hi){}
> ok 16318 valid-jsdoc invalid /**
> * Foo
> * @param {String|number|test} hi - desc
> * @returns {Astnode} returns a node
> */
> function foo(hi){}
> ok 16319 valid-jsdoc invalid /**
> * Foo
> * @param {Array.<String>} hi - desc
> * @returns {Astnode} returns a node
> */
> function foo(hi){}
> ok 16320 valid-jsdoc invalid /**
> * Foo
> * @param {Array.<{id: Number, votes: Number}>} hi - desc
> * @returns {Array.<{summary: String}>} desc
> */
> function foo(hi){}
> ok 16321 valid-jsdoc invalid /**
> * Foo
> * @param {Array.<[String, Number]>} hi - desc
> * @returns {Array.<[String, String]>} desc
> */
> function foo(hi){}
> ok 16322 valid-jsdoc invalid /**
> * Foo
> * @param {object<String,object<String, Number>>} hi - because why not
> * @returns {Boolean} desc
> */
> function foo(hi){}
> ok 16323 valid-jsdoc invalid /**
> * Foo
> * @param {{foo:String, astnode:Object, bar}} hi - desc
> * @returns {ASTnode} returns a node
> */
> function foo(hi){}
> ok 16324 valid-typeof valid typeof foo === 'string'
> ok 16325 valid-typeof valid typeof foo === 'object'
> ok 16326 valid-typeof valid typeof foo === 'function'
> ok 16327 valid-typeof valid typeof foo === 'undefined'
> ok 16328 valid-typeof valid typeof foo === 'boolean'
> ok 16329 valid-typeof valid typeof foo === 'number'
> ok 16330 valid-typeof valid 'string' === typeof foo
> ok 16331 valid-typeof valid 'object' === typeof foo
> ok 16332 valid-typeof valid 'function' === typeof foo
> ok 16333 valid-typeof valid 'undefined' === typeof foo
> ok 16334 valid-typeof valid 'boolean' === typeof foo
> ok 16335 valid-typeof valid 'number' === typeof foo
> ok 16336 valid-typeof valid typeof foo === typeof bar
> ok 16337 valid-typeof valid typeof foo === baz
> ok 16338 valid-typeof valid typeof foo !== someType
> ok 16339 valid-typeof valid typeof bar != someType
> ok 16340 valid-typeof valid someType === typeof bar
> ok 16341 valid-typeof valid someType == typeof bar
> ok 16342 valid-typeof valid typeof foo == 'string'
> ok 16343 valid-typeof valid typeof(foo) === 'string'
> ok 16344 valid-typeof valid typeof(foo) !== 'string'
> ok 16345 valid-typeof valid typeof(foo) == 'string'
> ok 16346 valid-typeof valid typeof(foo) != 'string'
> ok 16347 valid-typeof valid var oddUse = typeof foo + 'thing'
> ok 16348 valid-typeof valid typeof foo === 'number'
> ok 16349 valid-typeof valid typeof foo === "number"
> ok 16350 valid-typeof valid var baz = typeof foo + 'thing'
> ok 16351 valid-typeof valid typeof foo === typeof bar
> ok 16352 valid-typeof valid typeof foo === `string`
> ok 16353 valid-typeof valid `object` === typeof foo
> ok 16354 valid-typeof valid typeof foo === `str${somethingElse}`
> ok 16355 valid-typeof invalid typeof foo === 'strnig'
> ok 16356 valid-typeof invalid 'strnig' === typeof foo
> ok 16357 valid-typeof invalid if (typeof bar === 'umdefined') {}
> ok 16358 valid-typeof invalid typeof foo !== 'strnig'
> ok 16359 valid-typeof invalid 'strnig' !== typeof foo
> ok 16360 valid-typeof invalid if (typeof bar !== 'umdefined') {}
> ok 16361 valid-typeof invalid typeof foo != 'strnig'
> ok 16362 valid-typeof invalid 'strnig' != typeof foo
> ok 16363 valid-typeof invalid if (typeof bar != 'umdefined') {}
> ok 16364 valid-typeof invalid typeof foo == 'strnig'
> ok 16365 valid-typeof invalid 'strnig' == typeof foo
> ok 16366 valid-typeof invalid if (typeof bar == 'umdefined') {}
> ok 16367 valid-typeof invalid if (typeof bar === `umdefined`) {}
> ok 16368 valid-typeof invalid typeof foo == 'invalid string'
> ok 16369 valid-typeof invalid typeof foo == Object
> ok 16370 valid-typeof invalid typeof foo === undefined
> ok 16371 valid-typeof invalid undefined === typeof foo
> ok 16372 valid-typeof invalid undefined == typeof foo
> ok 16373 valid-typeof invalid typeof foo === `undefined${foo}`
> ok 16374 valid-typeof invalid typeof foo === `${string}`
> ok 16375 vars-on-top valid var first = 0;
> function foo() {
>     first = 2;
> }
> ok 16376 vars-on-top valid function foo() {
> }
> ok 16377 vars-on-top valid function foo() {
>    var first;
>    if (true) {
>        first = true;
>    } else {
>        first = 1;
>    }
> }
> ok 16378 vars-on-top valid function foo() {
>    var first;
>    var second = 1;
>    var third;
>    var fourth = 1, fifth, sixth = third;
>    var seventh;
>    if (true) {
>        third = true;
>    }
>    first = second;
> }
> ok 16379 vars-on-top valid function foo() {
>    var i;
>    for (i = 0; i < 10; i++) {
>        alert(i);
>    }
> }
> ok 16380 vars-on-top valid function foo() {
>    var outer;
>    function inner() {
>        var inner = 1;
>        var outer = inner;
>    }
>    outer = 1;
> }
> ok 16381 vars-on-top valid function foo() {
>    var first;
>    //Hello
>    var second = 1;
>    first = second;
> }
> ok 16382 vars-on-top valid function foo() {
>    var first;
>    /*
>        Hello Clarice
>    */
>    var second = 1;
>    first = second;
> }
> ok 16383 vars-on-top valid function foo() {
>    var first;
>    var second = 1;
>    function bar(){
>        var first;
>        first = 5;
>    }
>    first = second;
> }
> ok 16384 vars-on-top valid function foo() {
>    var first;
>    var second = 1;
>    function bar(){
>        var third;
>        third = 5;
>    }
>    first = second;
> }
> ok 16385 vars-on-top valid function foo() {
>    var first;
>    var bar = function(){
>        var third;
>        third = 5;
>    }
>    first = 5;
> }
> ok 16386 vars-on-top valid function foo() {
>    var first;
>    first.onclick(function(){
>        var third;
>        third = 5;
>    });
>    first = 5;
> }
> ok 16387 vars-on-top valid function foo() {
>    var i = 0;
>    for (let j = 0; j < 10; j++) {
>        alert(j);
>    }
>    i = i + 1;
> }
> ok 16388 vars-on-top valid 'use strict'; var x; f();
> ok 16389 vars-on-top valid 'use strict'; 'directive'; var x; var y; f();
> ok 16390 vars-on-top valid function f() { 'use strict'; var x; f(); }
> ok 16391 vars-on-top valid function f() { 'use strict'; 'directive'; var x; var y; f(); }
> ok 16392 vars-on-top valid import React from 'react'; var y; function f() { 'use strict'; var x; var y; f(); }
> ok 16393 vars-on-top valid 'use strict'; import React from 'react'; var y; function f() { 'use strict'; var x; var y; f(); }
> ok 16394 vars-on-top valid import React from 'react'; 'use strict'; var y; function f() { 'use strict'; var x; var y; f(); }
> ok 16395 vars-on-top valid import * as foo from 'mod.js'; 'use strict'; var y; function f() { 'use strict'; var x; var y; f(); }
> ok 16396 vars-on-top valid import { square, diag } from 'lib'; 'use strict'; var y; function f() { 'use strict'; var x; var y; f(); }
> ok 16397 vars-on-top valid import { default as foo } from 'lib'; 'use strict'; var y; function f() { 'use strict'; var x; var y; f(); }
> ok 16398 vars-on-top valid import 'src/mylib'; 'use strict'; var y; function f() { 'use strict'; var x; var y; f(); }
> ok 16399 vars-on-top valid import theDefault, { named1, named2 } from 'src/mylib'; 'use strict'; var y; function f() { 'use strict'; var x; var y; f(); }
> ok 16400 vars-on-top valid export var x;
> var y;
> var z;
> ok 16401 vars-on-top valid var x;
> export var y;
> var z;
> ok 16402 vars-on-top valid var x;
> var y;
> export var z;
> ok 16403 vars-on-top invalid var first = 0;
> function foo() {
>     first = 2;
>     second = 2;
> }
> var second = 0;
> ok 16404 vars-on-top invalid function foo() {
>    var first;
>    first = 1;
>    first = 2;
>    first = 3;
>    first = 4;
>    var second = 1;
>    second = 2;
>    first = second;
> }
> ok 16405 vars-on-top invalid function foo() {
>    var first;
>    if (true) {
>        var second = true;
>    }
>    first = second;
> }
> ok 16406 vars-on-top invalid function foo() {
>    for (var i = 0; i < 10; i++) {
>        alert(i);
>    }
> }
> ok 16407 vars-on-top invalid function foo() {
>    var first = 10;
>    var i;
>    for (i = 0; i < first; i ++) {
>        var second = i;
>    }
> }
> ok 16408 vars-on-top invalid function foo() {
>    var first = 10;
>    var i;
>    switch (first) {
>        case 10:
>            var hello = 1;
>            break;
>    }
> }
> ok 16409 vars-on-top invalid function foo() {
>    var first = 10;
>    var i;
>    try {
>        var hello = 1;
>    } catch (e) {
>        alert('error');
>    }
> }
> ok 16410 vars-on-top invalid function foo() {
>    var first = 10;
>    var i;
>    try {
>        asdf;
>    } catch (e) {
>        var hello = 1;
>    }
> }
> ok 16411 vars-on-top invalid function foo() {
>    var first = 10;
>    while (first) {
>        var hello = 1;
>    }
> }
> ok 16412 vars-on-top invalid function foo() {
>    var first = 10;
>    do {
>        var hello = 1;
>    } while (first == 10);
> }
> ok 16413 vars-on-top invalid function foo() {
>    var first = [1,2,3];
>    for (var item in first) {
>        item++;
>    }
> }
> ok 16414 vars-on-top invalid function foo() {
>    var first = [1,2,3];
>    var item;
>    for (item in first) {
>        var hello = item;
>    }
> }
> ok 16415 vars-on-top invalid var foo = () => {
>    var first = [1,2,3];
>    var item;
>    for (item in first) {
>        var hello = item;
>    }
> }
> ok 16416 vars-on-top invalid 'use strict'; 0; var x; f();
> ok 16417 vars-on-top invalid 'use strict'; var x; 'directive'; var y; f();
> ok 16418 vars-on-top invalid function f() { 'use strict'; 0; var x; f(); }
> ok 16419 vars-on-top invalid function f() { 'use strict'; var x; 'directive';  var y; f(); }
> ok 16420 vars-on-top invalid export function f() {}
> var x;
> ok 16421 vars-on-top invalid var x;
> export function f() {}
> var y;
> ok 16422 vars-on-top invalid import {foo} from 'foo';
> export {foo};
> var test = 1;
> ok 16423 vars-on-top invalid export {foo} from 'foo';
> var test = 1;
> ok 16424 vars-on-top invalid export * from 'foo';
> var test = 1;
> ok 16425 wrap-iife valid (function(){ }());
> ok 16426 wrap-iife valid (function(){ })();
> ok 16427 wrap-iife valid (function a(){ }());
> ok 16428 wrap-iife valid (function a(){ })();
> ok 16429 wrap-iife valid (function(){ }())
> ok 16430 wrap-iife valid (function(){ })()
> ok 16431 wrap-iife valid (function a(){ }());
> ok 16432 wrap-iife valid (function a(){ })();
> ok 16433 wrap-iife valid foo.bar();
> ok 16434 wrap-iife valid var a = function(){return 1;};
> ok 16435 wrap-iife valid window.bar = (function() { return 3; }.call(this, arg1));
> ok 16436 wrap-iife valid window.bar = (function() { return 3; }).call(this, arg1);
> ok 16437 wrap-iife valid window.bar = (function() { return 3; }.apply(this, arg1));
> ok 16438 wrap-iife valid window.bar = (function() { return 3; }).apply(this, arg1);
> ok 16439 wrap-iife valid window.bar = function() { return 3; }.call(this, arg1);
> ok 16440 wrap-iife valid window.bar = function() { return 3; }.call(this, arg1);
> ok 16441 wrap-iife valid window.bar = function() { return 3; }[call](this, arg1);
> ok 16442 wrap-iife valid window.bar = function() { return 3; }[apply](this, arg1);
> ok 16443 wrap-iife valid window.bar = function() { return 3; }[foo](this, arg1);
> ok 16444 wrap-iife valid var a = function(){return 1;}.bind(this);
> ok 16445 wrap-iife valid var a = function(){return 1;}.bind(this).apply(that);
> ok 16446 wrap-iife invalid 0, function(){ }();
> ok 16447 wrap-iife invalid [function(){ }()];
> ok 16448 wrap-iife invalid var a = function(){ }();
> ok 16449 wrap-iife invalid (function(){ }(), 0);
> ok 16450 wrap-iife invalid (function a(){ })();
> ok 16451 wrap-iife invalid (function a(){ }());
> ok 16452 wrap-iife invalid ( /* a */ function /* b */ foo /* c */ ( /* d */ bar /* e */ ) /* f */ { /* g */ return; /* h */ } /* i */ ( /* j */ baz /* k */) /* l */ ) /* m */ ;
> ok 16453 wrap-iife invalid ( /* a */ function /* b */ foo /* c */ ( /* d */ bar /* e */ ) /* f */ { /* g */ return; /* h */ } /* i */ ) /* j */ ( /* k */ baz /* l */) /* m */ ;
> ok 16454 wrap-iife invalid +function(){return 1;}()
> ok 16455 wrap-iife invalid +function(){return 1;}()
> ok 16456 wrap-iife invalid window.bar = function() { return 3; }.call(this, arg1);
> ok 16457 wrap-iife invalid window.bar = function() { return 3; }['call'](this, arg1);
> ok 16458 wrap-iife invalid window.bar = function() { return 3; }.call(this, arg1);
> ok 16459 wrap-iife invalid window.bar = (function() { return 3; }.call(this, arg1));
> ok 16460 wrap-iife invalid window.bar = (function() { return 3; }).call(this, arg1);
> ok 16461 wrap-regex valid (/foo/).test(bar);
> ok 16462 wrap-regex valid (/foo/ig).test(bar);
> ok 16463 wrap-regex valid /foo/;
> ok 16464 wrap-regex valid var f = 0;
> ok 16465 wrap-regex valid a[/b/];
> ok 16466 wrap-regex invalid /foo/.test(bar);
> ok 16467 wrap-regex invalid /foo/ig.test(bar);
> ok 16468 wrap-regex invalid if(/foo/ig.test(bar));
> ok 16469 yield-star-spacing valid function *foo(){ yield foo; }
> ok 16470 yield-star-spacing valid function *foo(){ yield* foo; }
> ok 16471 yield-star-spacing valid function *foo(){ yield foo; }
> ok 16472 yield-star-spacing valid function *foo(){ yield* foo; }
> ok 16473 yield-star-spacing valid function *foo(){ yield* foo(); }
> ok 16474 yield-star-spacing valid function *foo(){ yield* 0 }
> ok 16475 yield-star-spacing valid function *foo(){ yield* []; }
> ok 16476 yield-star-spacing valid function *foo(){ var result = yield* foo(); }
> ok 16477 yield-star-spacing valid function *foo(){ var result = yield* (foo()); }
> ok 16478 yield-star-spacing valid function *foo(){ yield foo; }
> ok 16479 yield-star-spacing valid function *foo(){ yield *foo; }
> ok 16480 yield-star-spacing valid function *foo(){ yield *foo(); }
> ok 16481 yield-star-spacing valid function *foo(){ yield *0 }
> ok 16482 yield-star-spacing valid function *foo(){ yield *[]; }
> ok 16483 yield-star-spacing valid function *foo(){ var result = yield *foo(); }
> ok 16484 yield-star-spacing valid function *foo(){ yield foo; }
> ok 16485 yield-star-spacing valid function *foo(){ yield * foo; }
> ok 16486 yield-star-spacing valid function *foo(){ yield * foo(); }
> ok 16487 yield-star-spacing valid function *foo(){ yield * 0 }
> ok 16488 yield-star-spacing valid function *foo(){ yield * []; }
> ok 16489 yield-star-spacing valid function *foo(){ var result = yield * foo(); }
> ok 16490 yield-star-spacing valid function *foo(){ yield foo; }
> ok 16491 yield-star-spacing valid function *foo(){ yield*foo; }
> ok 16492 yield-star-spacing valid function *foo(){ yield*foo(); }
> ok 16493 yield-star-spacing valid function *foo(){ yield*0 }
> ok 16494 yield-star-spacing valid function *foo(){ yield*[]; }
> ok 16495 yield-star-spacing valid function *foo(){ var result = yield*foo(); }
> ok 16496 yield-star-spacing invalid function *foo(){ yield *foo1; }
> ok 16497 yield-star-spacing invalid function *foo(){ yield *foo1; }
> ok 16498 yield-star-spacing invalid function *foo(){ yield * foo; }
> ok 16499 yield-star-spacing invalid function *foo(){ yield*foo2; }
> ok 16500 yield-star-spacing invalid function *foo(){ yield* foo; }
> ok 16501 yield-star-spacing invalid function *foo(){ yield * foo; }
> ok 16502 yield-star-spacing invalid function *foo(){ yield*foo; }
> ok 16503 yield-star-spacing invalid function *foo(){ yield* foo; }
> ok 16504 yield-star-spacing invalid function *foo(){ yield *foo3; }
> ok 16505 yield-star-spacing invalid function *foo(){ yield*foo4; }
> ok 16506 yield-star-spacing invalid function *foo(){ yield* foo; }
> ok 16507 yield-star-spacing invalid function *foo(){ yield *foo; }
> ok 16508 yield-star-spacing invalid function *foo(){ yield * foo; }
> ok 16509 yoda valid if (value === "red") {}
> ok 16510 yoda valid if (value === value) {}
> ok 16511 yoda valid if (value != 5) {}
> ok 16512 yoda valid if (5 & foo) {}
> ok 16513 yoda valid if (5 === 4) {}
> ok 16514 yoda valid if ("blue" === value) {}
> ok 16515 yoda valid if (value === value) {}
> ok 16516 yoda valid if (4 != value) {}
> ok 16517 yoda valid if (foo & 4) {}
> ok 16518 yoda valid if (5 === 4) {}
> ok 16519 yoda valid if (0 < x && x <= 1) {}
> ok 16520 yoda valid if (x < 0 || 1 <= x) {}
> ok 16521 yoda valid if (0 <= x && x < 1) {}
> ok 16522 yoda valid if (x <= 'bar' || 'foo' < x) {}
> ok 16523 yoda valid if ('blue' < x.y && x.y < 'green') {}
> ok 16524 yoda valid if (0 <= x['y'] && x['y'] <= 100) {}
> ok 16525 yoda valid if (a < 0 && (0 < b && b < 1)) {}
> ok 16526 yoda valid if ((0 < a && a < 1) && b < 0) {}
> ok 16527 yoda valid if (a < 4 || (b[c[0]].d['e'] < 0 || 1 <= b[c[0]].d['e'])) {}
> ok 16528 yoda valid if (-1 < x && x < 0) {}
> ok 16529 yoda valid if (0 <= this.prop && this.prop <= 1) {}
> ok 16530 yoda valid if (0 <= index && index < list.length) {}
> ok 16531 yoda valid if (ZERO <= index && index < 100) {}
> ok 16532 yoda valid if (value <= MIN || 10 < value) {}
> ok 16533 yoda valid if (value <= 0 || MAX < value) {}
> ok 16534 yoda valid if (0 <= a.b && a["b"] <= 100) {}
> ok 16535 yoda valid if (0 < x && x <= 1) {}
> ok 16536 yoda valid if (x !== 'foo' && 'foo' !== x) {}
> ok 16537 yoda valid if (x < 2 && x !== -3) {}
> ok 16538 yoda invalid if ("red" == value) {}
> ok 16539 yoda invalid if (true === value) {}
> ok 16540 yoda invalid if (5 != value) {}
> ok 16541 yoda invalid if (null !== value) {}
> ok 16542 yoda invalid if ("red" <= value) {}
> ok 16543 yoda invalid if (true >= value) {}
> ok 16544 yoda invalid var foo = (5 < value) ? true : false
> ok 16545 yoda invalid function foo() { return (null > value); }
> ok 16546 yoda invalid if (-1 < str.indexOf(substr)) {}
> ok 16547 yoda invalid if (value == "red") {}
> ok 16548 yoda invalid if (value === true) {}
> ok 16549 yoda invalid if (a < 0 && 0 <= b && b < 1) {}
> ok 16550 yoda invalid if (0 <= a && a < 1 && b < 1) {}
> ok 16551 yoda invalid if (1 < a && a < 0) {}
> ok 16552 yoda invalid 0 < a && a < 1
> ok 16553 yoda invalid var a = b < 0 || 1 <= b;
> ok 16554 yoda invalid if (0 <= x && x < -1) {}
> ok 16555 yoda invalid var a = (b < 0 && 0 <= b);
> ok 16556 yoda invalid if (0 <= a[b] && a['b'] < 1) {}
> ok 16557 yoda invalid if (0 <= a[b] && a.b < 1) {}
> ok 16558 yoda invalid if (0 <= a[b()] && a[b()] < 1) {}
> ok 16559 yoda invalid if (3 == a) {}
> ok 16560 yoda invalid foo(3 === a);
> ok 16561 yoda invalid foo(a === 3);
> ok 16562 yoda invalid if (0 <= x && x < 1) {}
> ok 16563 yoda invalid if ( /* a */ 0 /* b */ < /* c */ foo /* d */ ) {}
> ok 16564 yoda invalid if ( /* a */ foo /* b */ > /* c */ 0 /* d */ ) {}
> ok 16565 yoda invalid if (foo()===1) {}
> ok 16566 yoda invalid if (foo()     === 1) {}
> ok 16567 yoda invalid while (0 === (a));
> ok 16568 yoda invalid while (0 === (a = b));
> ok 16569 yoda invalid while ((a) === 0);
> ok 16570 yoda invalid while ((a = b) === 0);
> ok 16571 yoda invalid if (((((((((((foo)))))))))) === ((((((5)))))));
> ok 16572 RuleTester should not throw an error when everything passes
> ok 16573 RuleTester should throw an error when valid code is invalid
> ok 16574 RuleTester should throw an error when valid code is invalid
> ok 16575 RuleTester should throw an error if invalid code is valid
> ok 16576 RuleTester should throw an error when the error message is wrong
> ok 16577 RuleTester should throw an error when the error message regex does not match
> ok 16578 RuleTester should throw an error when the error is not a supported type
> ok 16579 RuleTester should throw an error when the error is a string and it does not match error message
> ok 16580 RuleTester should throw an error when the error is a string and it does not match error message
> ok 16581 RuleTester should not throw an error when the error is a string and it matches error message
> ok 16582 RuleTester should not throw an error when the error is a regex and it matches error message
> ok 16583 RuleTester should not throw an error when the error is a regex in an object and it matches error message
> ok 16584 RuleTester should throw an error when the expected output doesn't match
> ok 16585 RuleTester should use strict equality to compare output
> ok 16586 RuleTester should throw an error when the expected output doesn't match and errors is just a number
> ok 16587 RuleTester should not throw an error when the expected output is null and no errors produce output
> ok 16588 RuleTester should throw an error when the expected output is null and problems produce output
> ok 16589 RuleTester should throw an error when the expected output is null and only some problems produce output
> ok 16590 RuleTester should throw an error if invalid code specifies wrong type
> ok 16591 RuleTester should throw an error if invalid code specifies wrong line
> ok 16592 RuleTester should not skip line assertion if line is a falsy value
> ok 16593 RuleTester should throw an error if invalid code specifies wrong column
> ok 16594 RuleTester should not skip column assertion if column is a falsy value
> ok 16595 RuleTester should throw an error if invalid code specifies wrong endLine
> ok 16596 RuleTester should throw an error if invalid code specifies wrong endColumn
> ok 16597 RuleTester should throw an error if invalid code has the wrong number of errors
> ok 16598 RuleTester should throw an error if invalid code does not have errors
> ok 16599 RuleTester should throw an error if invalid code has the wrong explicit number of errors
> ok 16600 RuleTester should throw an error if there's a parsing error and output doesn't match
> ok 16601 RuleTester should not throw an error if invalid code has at least an expected empty error object
> ok 16602 RuleTester should pass-through the globals config of valid tests to the to rule
> ok 16603 RuleTester should pass-through the globals config of invalid tests to the to rule
> ok 16604 RuleTester should pass-through the settings config to rules
> ok 16605 RuleTester should pass-through the filename to the rule
> ok 16606 RuleTester should pass-through the options to the rule
> ok 16607 RuleTester should throw an error if the options are an object
> ok 16608 RuleTester should throw an error if the options are a number
> ok 16609 RuleTester should pass-through the parser to the rule
> ok 16610 RuleTester should prevent invalid options schemas
> ok 16611 RuleTester should prevent schema violations in options
> ok 16612 RuleTester throw an error when an unknown config option is included
> ok 16613 RuleTester throw an error when an invalid config value is included
> ok 16614 RuleTester should pass-through the tester config to the rule
> ok 16615 RuleTester should correctly set the globals configuration
> ok 16616 RuleTester should correctly reset the global configuration
> ok 16617 RuleTester should enforce the global configuration to be an object
> ok 16618 RuleTester should pass-through the globals config to the tester then to the to rule
> ok 16619 RuleTester should throw an error if AST was modified
> ok 16620 RuleTester should throw an error if AST was modified (at Program)
> ok 16621 RuleTester should throw an error if AST was modified (at Program:exit)
> ok 16622 RuleTester should throw an error if no test scenarios given
> ok 16623 RuleTester should throw an error if no acceptable test scenario object is given
> ok 16624 RuleTester should assert match if message provided in both test and result.
> ok 16625 RuleTester should assert match between messageId if provided in both test and result.
> ok 16626 RuleTester should assert match between resulting message output if messageId and data provided in both test and result
> ok 16627 RuleTester should throw if user tests for both message and messageId
> ok 16628 RuleTester should throw if user tests for messageId but the rule doesn't use the messageId meta syntax.
> ok 16629 RuleTester should throw if user tests for messageId not listed in the rule's meta syntax.
> ok 16630 RuleTester should throw if data provided without messageId.
> ok 16631 RuleTester naming test cases should use the first argument as the name of the test suite
> ok 16632 RuleTester naming test cases should use the test code as the name of the tests for valid code (string form)
> ok 16633 RuleTester naming test cases should use the test code as the name of the tests for valid code (object form)
> ok 16634 RuleTester naming test cases should use the test code as the name of the tests for invalid code
> ok 16635 RuleTester naming test cases should use the empty string as the name of the test if the test case is an empty string
> ok 16636 TokenStore when calling getTokens should retrieve all tokens for root node
> ok 16637 TokenStore when calling getTokens should retrieve all tokens for binary expression
> ok 16638 TokenStore when calling getTokens should retrieve all tokens plus one before for binary expression
> ok 16639 TokenStore when calling getTokens should retrieve all tokens plus one after for binary expression
> ok 16640 TokenStore when calling getTokens should retrieve all tokens plus two before and one after for binary expression
> ok 16641 TokenStore when calling getTokens should retrieve all matched tokens for root node with filter
> ok 16642 TokenStore when calling getTokens should retrieve all tokens and comments in the node for root node with includeComments option
> ok 16643 TokenStore when calling getTokens should retrieve matched tokens and comments in the node for root node with includeComments and filter options
> ok 16644 TokenStore when calling getTokens should retrieve all tokens and comments in the node for binary expression with includeComments option
> ok 16645 TokenStore when calling getTokensBefore should retrieve zero tokens before a node
> ok 16646 TokenStore when calling getTokensBefore should retrieve one token before a node
> ok 16647 TokenStore when calling getTokensBefore should retrieve more than one token before a node
> ok 16648 TokenStore when calling getTokensBefore should retrieve all tokens before a node
> ok 16649 TokenStore when calling getTokensBefore should retrieve more than one token before a node with count option
> ok 16650 TokenStore when calling getTokensBefore should retrieve matched tokens before a node with count and filter options
> ok 16651 TokenStore when calling getTokensBefore should retrieve all matched tokens before a node with filter option
> ok 16652 TokenStore when calling getTokensBefore should retrieve no tokens before the root node
> ok 16653 TokenStore when calling getTokensBefore should retrieve tokens and comments before a node with count and includeComments option
> ok 16654 TokenStore when calling getTokensBefore should retrieve all tokens and comments before a node with includeComments option only
> ok 16655 TokenStore when calling getTokensBefore should retrieve all tokens and comments before a node with includeComments and filter options
> ok 16656 TokenStore when calling getTokenBefore should retrieve one token before a node
> ok 16657 TokenStore when calling getTokenBefore should skip a given number of tokens
> ok 16658 TokenStore when calling getTokenBefore should skip a given number of tokens with skip option
> ok 16659 TokenStore when calling getTokenBefore should retrieve matched token with filter option
> ok 16660 TokenStore when calling getTokenBefore should retrieve matched token with skip and filter options
> ok 16661 TokenStore when calling getTokenBefore should retrieve one token or comment before a node with includeComments option
> ok 16662 TokenStore when calling getTokenBefore should retrieve one token or comment before a node with includeComments and skip options
> ok 16663 TokenStore when calling getTokenBefore should retrieve one token or comment before a node with includeComments and skip and filter options
> ok 16664 TokenStore when calling getTokenBefore should retrieve the previous node if the comment at the end of source code is specified.
> ok 16665 TokenStore when calling getTokenBefore should retrieve the previous comment if the first token is specified.
> ok 16666 TokenStore when calling getTokenBefore should retrieve null if the first comment is specified.
> ok 16667 TokenStore when calling getTokensAfter should retrieve zero tokens after a node
> ok 16668 TokenStore when calling getTokensAfter should retrieve one token after a node
> ok 16669 TokenStore when calling getTokensAfter should retrieve more than one token after a node
> ok 16670 TokenStore when calling getTokensAfter should retrieve all tokens after a node
> ok 16671 TokenStore when calling getTokensAfter should retrieve more than one token after a node with count option
> ok 16672 TokenStore when calling getTokensAfter should retrieve all matched tokens after a node with filter option
> ok 16673 TokenStore when calling getTokensAfter should retrieve matched tokens after a node with count and filter options
> ok 16674 TokenStore when calling getTokensAfter should retrieve all tokens and comments after a node with includeComments option
> ok 16675 TokenStore when calling getTokensAfter should retrieve several tokens and comments after a node with includeComments and count options
> ok 16676 TokenStore when calling getTokensAfter should retrieve matched tokens and comments after a node with includeComments and count and filter options
> ok 16677 TokenStore when calling getTokenAfter should retrieve one token after a node
> ok 16678 TokenStore when calling getTokenAfter should skip a given number of tokens
> ok 16679 TokenStore when calling getTokenAfter should skip a given number of tokens with skip option
> ok 16680 TokenStore when calling getTokenAfter should retrieve matched token with filter option
> ok 16681 TokenStore when calling getTokenAfter should retrieve matched token with filter and skip options
> ok 16682 TokenStore when calling getTokenAfter should retrieve one token or comment after a node with includeComments option
> ok 16683 TokenStore when calling getTokenAfter should retrieve one token or comment after a node with includeComments and skip options
> ok 16684 TokenStore when calling getTokenAfter should retrieve one token or comment after a node with includeComments and skip and filter options
> ok 16685 TokenStore when calling getTokenAfter should retrieve the next node if the comment at the first of source code is specified.
> ok 16686 TokenStore when calling getTokenAfter should retrieve the next comment if the last token is specified.
> ok 16687 TokenStore when calling getTokenAfter should retrieve null if the last comment is specified.
> ok 16688 TokenStore when calling getFirstTokens should retrieve zero tokens from a node's token stream
> ok 16689 TokenStore when calling getFirstTokens should retrieve one token from a node's token stream
> ok 16690 TokenStore when calling getFirstTokens should retrieve more than one token from a node's token stream
> ok 16691 TokenStore when calling getFirstTokens should retrieve all tokens from a node's token stream
> ok 16692 TokenStore when calling getFirstTokens should retrieve more than one token from a node's token stream with count option
> ok 16693 TokenStore when calling getFirstTokens should retrieve matched tokens from a node's token stream with filter option
> ok 16694 TokenStore when calling getFirstTokens should retrieve matched tokens from a node's token stream with filter and count options
> ok 16695 TokenStore when calling getFirstTokens should retrieve all tokens and comments from a node's token stream with includeComments option
> ok 16696 TokenStore when calling getFirstTokens should retrieve several tokens and comments from a node's token stream with includeComments and count options
> ok 16697 TokenStore when calling getFirstTokens should retrieve several tokens and comments from a node's token stream with includeComments and count and filter options
> ok 16698 TokenStore when calling getFirstToken should retrieve the first token of a node's token stream
> ok 16699 TokenStore when calling getFirstToken should skip a given number of tokens
> ok 16700 TokenStore when calling getFirstToken should skip a given number of tokens with skip option
> ok 16701 TokenStore when calling getFirstToken should retrieve matched token with filter option
> ok 16702 TokenStore when calling getFirstToken should retrieve matched token with filter and skip options
> ok 16703 TokenStore when calling getFirstToken should retrieve the first token or comment of a node's token stream with includeComments option
> ok 16704 TokenStore when calling getFirstToken should retrieve the first matched token or comment of a node's token stream with includeComments and skip options
> ok 16705 TokenStore when calling getFirstToken should retrieve the first matched token or comment of a node's token stream with includeComments and skip and filter options
> ok 16706 TokenStore when calling getFirstToken should retrieve the first comment if the comment is at the last of nodes
> ok 16707 TokenStore when calling getFirstToken should retrieve the first token (without includeComments option) if the comment is at the last of nodes
> ok 16708 TokenStore when calling getLastTokens should retrieve zero tokens from the end of a node's token stream
> ok 16709 TokenStore when calling getLastTokens should retrieve one token from the end of a node's token stream
> ok 16710 TokenStore when calling getLastTokens should retrieve more than one token from the end of a node's token stream
> ok 16711 TokenStore when calling getLastTokens should retrieve all tokens from the end of a node's token stream
> ok 16712 TokenStore when calling getLastTokens should retrieve more than one token from the end of a node's token stream with count option
> ok 16713 TokenStore when calling getLastTokens should retrieve matched tokens from the end of a node's token stream with filter option
> ok 16714 TokenStore when calling getLastTokens should retrieve matched tokens from the end of a node's token stream with filter and count options
> ok 16715 TokenStore when calling getLastTokens should retrieve all tokens from the end of a node's token stream with includeComments option
> ok 16716 TokenStore when calling getLastTokens should retrieve matched tokens from the end of a node's token stream with includeComments and count options
> ok 16717 TokenStore when calling getLastTokens should retrieve matched tokens from the end of a node's token stream with includeComments and count and filter options
> ok 16718 TokenStore when calling getLastToken should retrieve the last token of a node's token stream
> ok 16719 TokenStore when calling getLastToken should skip a given number of tokens
> ok 16720 TokenStore when calling getLastToken should skip a given number of tokens with skip option
> ok 16721 TokenStore when calling getLastToken should retrieve the last matched token of a node's token stream with filter option
> ok 16722 TokenStore when calling getLastToken should retrieve the last matched token of a node's token stream with filter and skip options
> ok 16723 TokenStore when calling getLastToken should retrieve the last token of a node's token stream with includeComments option
> ok 16724 TokenStore when calling getLastToken should retrieve the last token of a node's token stream with includeComments and skip options
> ok 16725 TokenStore when calling getLastToken should retrieve the last token of a node's token stream with includeComments and skip and filter options
> ok 16726 TokenStore when calling getLastToken should retrieve the last comment if the comment is at the last of nodes
> ok 16727 TokenStore when calling getLastToken should retrieve the last token (without includeComments option) if the comment is at the last of nodes
> ok 16728 TokenStore when calling getFirstTokensBetween should retrieve zero tokens between adjacent nodes
> ok 16729 TokenStore when calling getFirstTokensBetween should retrieve multiple tokens between non-adjacent nodes with count option
> ok 16730 TokenStore when calling getFirstTokensBetween should retrieve matched tokens between non-adjacent nodes with filter option
> ok 16731 TokenStore when calling getFirstTokensBetween should retrieve all tokens between non-adjacent nodes with empty object option
> ok 16732 TokenStore when calling getFirstTokensBetween should retrieve multiple tokens between non-adjacent nodes with includeComments option
> ok 16733 TokenStore when calling getFirstTokensBetween should retrieve multiple tokens between non-adjacent nodes with includeComments and count options
> ok 16734 TokenStore when calling getFirstTokensBetween should retrieve multiple tokens and comments between non-adjacent nodes with includeComments and filter options
> ok 16735 TokenStore when calling getFirstTokenBetween should return null between adjacent nodes
> ok 16736 TokenStore when calling getFirstTokenBetween should retrieve one token between non-adjacent nodes with count option
> ok 16737 TokenStore when calling getFirstTokenBetween should retrieve one token between non-adjacent nodes with skip option
> ok 16738 TokenStore when calling getFirstTokenBetween should return null if it's skipped beyond the right token
> ok 16739 TokenStore when calling getFirstTokenBetween should retrieve the first matched token between non-adjacent nodes with filter option
> ok 16740 TokenStore when calling getFirstTokenBetween should retrieve first token or comment between non-adjacent nodes with includeComments option
> ok 16741 TokenStore when calling getFirstTokenBetween should retrieve first token or comment between non-adjacent nodes with includeComments and skip options
> ok 16742 TokenStore when calling getFirstTokenBetween should retrieve first token or comment between non-adjacent nodes with includeComments and skip and filter options
> ok 16743 TokenStore when calling getLastTokensBetween should retrieve zero tokens between adjacent nodes
> ok 16744 TokenStore when calling getLastTokensBetween should retrieve multiple tokens between non-adjacent nodes with count option
> ok 16745 TokenStore when calling getLastTokensBetween should retrieve matched tokens between non-adjacent nodes with filter option
> ok 16746 TokenStore when calling getLastTokensBetween should retrieve all tokens between non-adjacent nodes with empty object option
> ok 16747 TokenStore when calling getLastTokensBetween should retrieve all tokens and comments between non-adjacent nodes with includeComments option
> ok 16748 TokenStore when calling getLastTokensBetween should retrieve multiple tokens between non-adjacent nodes with includeComments and count options
> ok 16749 TokenStore when calling getLastTokensBetween should retrieve multiple tokens and comments between non-adjacent nodes with includeComments and filter options
> ok 16750 TokenStore when calling getLastTokenBetween should return null between adjacent nodes
> ok 16751 TokenStore when calling getLastTokenBetween should retrieve one token between non-adjacent nodes with count option
> ok 16752 TokenStore when calling getLastTokenBetween should retrieve one token between non-adjacent nodes with skip option
> ok 16753 TokenStore when calling getLastTokenBetween should return null if it's skipped beyond the right token
> ok 16754 TokenStore when calling getLastTokenBetween should retrieve the first matched token between non-adjacent nodes with filter option
> ok 16755 TokenStore when calling getLastTokenBetween should retrieve first token or comment between non-adjacent nodes with includeComments option
> ok 16756 TokenStore when calling getLastTokenBetween should retrieve first token or comment between non-adjacent nodes with includeComments and skip options
> ok 16757 TokenStore when calling getLastTokenBetween should retrieve first token or comment between non-adjacent nodes with includeComments and skip and filter options
> ok 16758 TokenStore when calling getTokensBetween should retrieve zero tokens between adjacent nodes
> ok 16759 TokenStore when calling getTokensBetween should retrieve one token between nodes
> ok 16760 TokenStore when calling getTokensBetween should retrieve multiple tokens between non-adjacent nodes
> ok 16761 TokenStore when calling getTokensBetween should retrieve surrounding tokens when asked for padding
> ok 16762 TokenStore when calling getTokenByRangeStart should return identifier token
> ok 16763 TokenStore when calling getTokenByRangeStart should return null when token doesn't exist
> ok 16764 TokenStore when calling getTokenByRangeStart should return a comment token when includeComments is true
> ok 16765 TokenStore when calling getTokenByRangeStart should not return a comment token at the supplied index when includeComments is false
> ok 16766 TokenStore when calling getTokenByRangeStart should not return comment tokens by default
> ok 16767 TokenStore when calling getTokenOrCommentBefore should retrieve one token or comment before a node
> ok 16768 TokenStore when calling getTokenOrCommentBefore should skip a given number of tokens
> ok 16769 TokenStore when calling getTokenOrCommentAfter should retrieve one token or comment after a node
> ok 16770 TokenStore when calling getTokenOrCommentAfter should skip a given number of tokens
> ok 16771 TokenStore when calling getFirstToken & getTokenAfter should retrieve all tokens and comments in the node
> ok 16772 TokenStore when calling getFirstToken & getTokenAfter should retrieve all tokens and comments in the node (no spaces)
> ok 16773 TokenStore when calling getLastToken & getTokenBefore should retrieve all tokens and comments in the node
> ok 16774 TokenStore when calling getLastToken & getTokenBefore should retrieve all tokens and comments in the node (no spaces)
> ok 16775 TokenStore when calling commentsExistBetween should retrieve false if comments don't exist
> ok 16776 TokenStore when calling commentsExistBetween should retrieve true if comments exist
> ok 16777 TokenStore getCommentsBefore should retrieve comments before a node
> ok 16778 TokenStore getCommentsBefore should retrieve comments before a token
> ok 16779 TokenStore getCommentsBefore should retrieve multiple comments before a node
> ok 16780 TokenStore getCommentsBefore should retrieve comments before a Program node
> ok 16781 TokenStore getCommentsBefore should return an empty array if there are no comments before a node or token
> ok 16782 TokenStore getCommentsAfter should retrieve comments after a node
> ok 16783 TokenStore getCommentsAfter should retrieve comments after a token
> ok 16784 TokenStore getCommentsAfter should retrieve multiple comments after a node
> ok 16785 TokenStore getCommentsAfter should retrieve comments after a Program node
> ok 16786 TokenStore getCommentsAfter should return an empty array if there are no comments after a node or token
> ok 16787 TokenStore getCommentsInside should retrieve comments inside a node
> ok 16788 TokenStore getCommentsInside should return an empty array if a node does not contain any comments
> ok 16789 apply-disable-directives /* eslint-disable */ comments without rules keeps problems before the comment on the same line
> ok 16790 apply-disable-directives /* eslint-disable */ comments without rules keeps problems on a previous line before the comment
> ok 16791 apply-disable-directives /* eslint-disable */ comments without rules filters problems at the same location as the comment
> ok 16792 apply-disable-directives /* eslint-disable */ comments without rules filters out problems after the comment on the same line
> ok 16793 apply-disable-directives /* eslint-disable */ comments without rules filters out problems on a later line than the comment
> ok 16794 apply-disable-directives /* eslint-disable */ comments with rules filters problems after the comment that have the same ruleId
> ok 16795 apply-disable-directives /* eslint-disable */ comments with rules filters problems in the same location as the comment that have the same ruleId
> ok 16796 apply-disable-directives /* eslint-disable */ comments with rules keeps problems after the comment that have a different ruleId
> ok 16797 apply-disable-directives /* eslint-disable */ comments with rules keeps problems before the comment that have the same ruleId
> ok 16798 apply-disable-directives eslint-enable comments without rules keeps problems after the eslint-enable comment
> ok 16799 apply-disable-directives eslint-enable comments without rules keeps problems in the same location as the eslint-enable comment
> ok 16800 apply-disable-directives eslint-enable comments without rules filters out problems before the eslint-enable comment
> ok 16801 apply-disable-directives eslint-enable comments without rules filter out problems if disable all then enable foo and then disable foo
> ok 16802 apply-disable-directives eslint-enable comments without rules filter out problems if disable all then enable foo and then disable all
> ok 16803 apply-disable-directives eslint-enable comments without rules keeps problems before the eslint-enable comment if there is no corresponding disable comment
> ok 16804 apply-disable-directives eslint-enable comments with rules keeps problems after the comment that have the same ruleId as the eslint-enable comment
> ok 16805 apply-disable-directives eslint-enable comments with rules keeps problems in the same location as the comment that have the same ruleId as the eslint-enable comment
> ok 16806 apply-disable-directives eslint-enable comments with rules filters problems after the comment that have a different ruleId as the eslint-enable comment
> ok 16807 apply-disable-directives eslint-enable comments with rules reenables reporting correctly even when followed by another enable comment
> ok 16808 apply-disable-directives eslint-disable-line comments without rules keeps problems on a previous line
> ok 16809 apply-disable-directives eslint-disable-line comments without rules filters problems before the comment on the same line
> ok 16810 apply-disable-directives eslint-disable-line comments without rules filters problems after the comment on the same line
> ok 16811 apply-disable-directives eslint-disable-line comments without rules keeps problems on a following line
> ok 16812 apply-disable-directives eslint-disable-line comments with rules filters problems on the current line that match the ruleId
> ok 16813 apply-disable-directives eslint-disable-line comments with rules keeps problems on the current line that do not match the ruleId
> ok 16814 apply-disable-directives eslint-disable-line comments with rules filters problems on the current line that do not match the ruleId if preceded by a disable comment
> ok 16815 apply-disable-directives eslint-disable-line comments with rules handles consecutive comments appropriately
> ok 16816 apply-disable-directives eslint-disable-next-line comments without rules filters problems on the next line
> ok 16817 apply-disable-directives eslint-disable-next-line comments without rules keeps problems on the same line
> ok 16818 apply-disable-directives eslint-disable-next-line comments without rules keeps problems after the next line
> ok 16819 apply-disable-directives eslint-disable-next-line comments without rules filters problems on the next line even if there is an eslint-enable comment on the same line
> ok 16820 apply-disable-directives eslint-disable-next-line comments with rules filters problems on the next line that match the ruleId
> ok 16821 apply-disable-directives eslint-disable-next-line comments with rules keeps problems on the next line that do not match the ruleId
> ok 16822 apply-disable-directives unrecognized directive types throws a TypeError when it encounters an unrecognized directive
> ok 16823 apply-disable-directives unused directives Adds a problem for /* eslint-disable */
> ok 16824 apply-disable-directives unused directives Does not add a problem for /* eslint-disable */ /* (problem) */
> ok 16825 apply-disable-directives unused directives Adds a problem for /* eslint-disable foo */
> ok 16826 apply-disable-directives unused directives Adds a problem for /* eslint-disable foo */ /* (problem from another rule) */
> ok 16827 apply-disable-directives unused directives Adds a problem for /* (problem from foo) */ /* eslint-disable */ /* eslint-enable foo */
> ok 16828 apply-disable-directives unused directives Adds a problem for /* eslint-disable */ /* eslint-enable */
> ok 16829 apply-disable-directives unused directives Adds two problems for /* eslint-disable */ /* eslint-disable */
> ok 16830 apply-disable-directives unused directives Adds a problem for /* eslint-disable */ /* eslint-disable */ /* (problem) */
> ok 16831 apply-disable-directives unused directives Adds a problem for /* eslint-disable foo */ /* eslint-disable */ /* (problem from foo) */
> ok 16832 apply-disable-directives unused directives Does not add a problem for /* eslint-disable foo */ /* (problem from foo) */
> ok 16833 apply-disable-directives unused directives Adds a problem for /* eslint-disable */ /* eslint-disable foo */ /* (problem from foo) */
> ok 16834 apply-disable-directives unused directives Adds a problem for /* eslint-disable */ /* eslint-disable foo */ /* (problem from another rule) */
> ok 16835 apply-disable-directives unused directives Adds a problem for /* eslint-disable foo */ /* eslint-enable foo */ /* (problem from foo) */
> ok 16836 apply-disable-directives unused directives Adds a problem for /* eslint-disable foo */ /* eslint-enable */ /* (problem from foo) */
> ok 16837 apply-disable-directives unused directives Adds two problems for /* eslint-disable */ /* eslint-disable foo */ /* eslint-enable foo */ /* (problem from foo) */
> ok 16838 apply-disable-directives unused directives Adds a problem for // eslint-disable-line
> ok 16839 apply-disable-directives unused directives Does not add a problem for // eslint-disable-line (problem)
> ok 16840 apply-disable-directives unused directives Adds a problem for // eslint-disable-next-line
> ok 16841 apply-disable-directives unused directives Does not add a problem for // eslint-disable-next-line \n (problem)
> ok 16842 apply-disable-directives unused directives adds two problems for /* eslint-disable */ // eslint-disable-line
> ok 16843 apply-disable-directives unused directives Does not add problems when reportUnusedDisableDirectives: false is used
> ok 16844 ast-utils isTokenOnSameLine should return false if the tokens are not on the same line
> ok 16845 ast-utils isTokenOnSameLine should return true if the tokens are on the same line
> ok 16846 ast-utils isNullOrUndefined should return true if the argument is null
> ok 16847 ast-utils isNullOrUndefined should return true if the argument is undefined
> ok 16848 ast-utils isNullOrUndefined should return false if the argument is a number
> ok 16849 ast-utils isNullOrUndefined should return false if the argument is a string
> ok 16850 ast-utils isNullOrUndefined should return false if the argument is a boolean
> ok 16851 ast-utils isNullOrUndefined should return false if the argument is an object
> ok 16852 ast-utils isNullOrUndefined should return false if the argument is a unicode regex
> ok 16853 ast-utils checkReference should return true if reference is assigned for catch
> ok 16854 ast-utils checkReference should return true if reference is assigned for const
> ok 16855 ast-utils checkReference should return false if reference is not assigned for const
> ok 16856 ast-utils checkReference should return true if reference is assigned for class
> ok 16857 ast-utils checkReference should return false if reference is not assigned for class
> ok 16858 ast-utils isDirectiveComment should return false if it is not a directive line comment
> ok 16859 ast-utils isDirectiveComment should return false if it is not a directive block comment
> ok 16860 ast-utils isDirectiveComment should return true if it is a directive line comment
> ok 16861 ast-utils isDirectiveComment should return true if it is a directive block comment
> ok 16862 ast-utils isParenthesised should return false for not parenthesised nodes
> ok 16863 ast-utils isParenthesised should return true for not parenthesised nodes
> ok 16864 ast-utils isFunction should return true for FunctionDeclaration
> ok 16865 ast-utils isFunction should return true for FunctionExpression
> ok 16866 ast-utils isFunction should return true for AllowFunctionExpression
> ok 16867 ast-utils isFunction should return false for Program, VariableDeclaration, BlockStatement
> ok 16868 ast-utils isLoop should return true for DoWhileStatement
> ok 16869 ast-utils isLoop should return true for ForInStatement
> ok 16870 ast-utils isLoop should return true for ForOfStatement
> ok 16871 ast-utils isLoop should return true for ForStatement
> ok 16872 ast-utils isLoop should return true for WhileStatement
> ok 16873 ast-utils isLoop should return false for Program, VariableDeclaration, BlockStatement
> ok 16874 ast-utils isInLoop should return true for a loop itself
> ok 16875 ast-utils isInLoop should return true for a loop condition
> ok 16876 ast-utils isInLoop should return true for a loop assignee
> ok 16877 ast-utils isInLoop should return true for a node within a loop body
> ok 16878 ast-utils isInLoop should return false for a node outside a loop body
> ok 16879 ast-utils isInLoop should return false when the loop is not in the current function
> ok 16880 ast-utils getStaticPropertyName should return 'b' for `a.b`
> ok 16881 ast-utils getStaticPropertyName should return 'b' for `a['b']`
> ok 16882 ast-utils getStaticPropertyName should return 'b' for `a[`b`]`
> ok 16883 ast-utils getStaticPropertyName should return '100' for `a[100]`
> ok 16884 ast-utils getStaticPropertyName should return null for `a[b]`
> ok 16885 ast-utils getStaticPropertyName should return null for `a['a' + 'b']`
> ok 16886 ast-utils getStaticPropertyName should return null for `a[tag`b`]`
> ok 16887 ast-utils getStaticPropertyName should return null for `a[`${b}`]`
> ok 16888 ast-utils getStaticPropertyName should return 'b' for `b: 1`
> ok 16889 ast-utils getStaticPropertyName should return 'b' for `b() {}`
> ok 16890 ast-utils getStaticPropertyName should return 'b' for `get b() {}`
> ok 16891 ast-utils getStaticPropertyName should return 'b' for `['b']: 1`
> ok 16892 ast-utils getStaticPropertyName should return 'b' for `['b']() {}`
> ok 16893 ast-utils getStaticPropertyName should return 'b' for `[`b`]: 1`
> ok 16894 ast-utils getStaticPropertyName should return '100' for` [100]: 1`
> ok 16895 ast-utils getStaticPropertyName should return null for `[b]: 1`
> ok 16896 ast-utils getStaticPropertyName should return null for `['a' + 'b']: 1`
> ok 16897 ast-utils getStaticPropertyName should return null for `[tag`b`]: 1`
> ok 16898 ast-utils getStaticPropertyName should return null for `[`${b}`]: 1`
> ok 16899 ast-utils getStaticPropertyName should return null for non member expressions
> ok 16900 ast-utils getDirectivePrologue should return empty array if node is not a Program, FunctionDeclaration, FunctionExpression, or ArrowFunctionExpression
> ok 16901 ast-utils getDirectivePrologue should return empty array if node is a braceless ArrowFunctionExpression node
> ok 16902 ast-utils getDirectivePrologue should return empty array if there are no directives in Program body
> ok 16903 ast-utils getDirectivePrologue should return empty array if there are no directives in FunctionDeclaration body
> ok 16904 ast-utils getDirectivePrologue should return empty array if there are no directives in FunctionExpression body
> ok 16905 ast-utils getDirectivePrologue should return empty array if there are no directives in ArrowFunctionExpression body
> ok 16906 ast-utils getDirectivePrologue should return directives in Program body
> ok 16907 ast-utils getDirectivePrologue should return directives in FunctionDeclaration body
> ok 16908 ast-utils getDirectivePrologue should return directives in FunctionExpression body
> ok 16909 ast-utils getDirectivePrologue should return directives in ArrowFunctionExpression body
> ok 16910 ast-utils isDecimalInteger should return true for 0
> ok 16911 ast-utils isDecimalInteger should return true for 5
> ok 16912 ast-utils isDecimalInteger should return false for 5.
> ok 16913 ast-utils isDecimalInteger should return false for 5.0
> ok 16914 ast-utils isDecimalInteger should return false for 05
> ok 16915 ast-utils isDecimalInteger should return false for 0x5
> ok 16916 ast-utils isDecimalInteger should return false for 5e0
> ok 16917 ast-utils isDecimalInteger should return false for 5e-0
> ok 16918 ast-utils isDecimalInteger should return false for '5'
> ok 16919 ast-utils getFunctionNameWithKind should return "function 'foo'" for "function foo() {}".
> ok 16920 ast-utils getFunctionNameWithKind should return "function 'foo'" for "(function foo() {})".
> ok 16921 ast-utils getFunctionNameWithKind should return "function" for "(function() {})".
> ok 16922 ast-utils getFunctionNameWithKind should return "generator function 'foo'" for "function* foo() {}".
> ok 16923 ast-utils getFunctionNameWithKind should return "generator function 'foo'" for "(function* foo() {})".
> ok 16924 ast-utils getFunctionNameWithKind should return "generator function" for "(function*() {})".
> ok 16925 ast-utils getFunctionNameWithKind should return "arrow function" for "() => {}".
> ok 16926 ast-utils getFunctionNameWithKind should return "async arrow function" for "async () => {}".
> ok 16927 ast-utils getFunctionNameWithKind should return "method 'foo'" for "({ foo: function foo() {} })".
> ok 16928 ast-utils getFunctionNameWithKind should return "method 'foo'" for "({ foo: function() {} })".
> ok 16929 ast-utils getFunctionNameWithKind should return "method 'foo'" for "({ ['foo']: function() {} })".
> ok 16930 ast-utils getFunctionNameWithKind should return "method" for "({ [foo]: function() {} })".
> ok 16931 ast-utils getFunctionNameWithKind should return "method 'foo'" for "({ foo() {} })".
> ok 16932 ast-utils getFunctionNameWithKind should return "generator method 'foo'" for "({ foo: function* foo() {} })".
> ok 16933 ast-utils getFunctionNameWithKind should return "generator method 'foo'" for "({ foo: function*() {} })".
> ok 16934 ast-utils getFunctionNameWithKind should return "generator method 'foo'" for "({ ['foo']: function*() {} })".
> ok 16935 ast-utils getFunctionNameWithKind should return "generator method" for "({ [foo]: function*() {} })".
> ok 16936 ast-utils getFunctionNameWithKind should return "generator method 'foo'" for "({ *foo() {} })".
> ok 16937 ast-utils getFunctionNameWithKind should return "async method 'foo'" for "({ foo: async function foo() {} })".
> ok 16938 ast-utils getFunctionNameWithKind should return "async method 'foo'" for "({ foo: async function() {} })".
> ok 16939 ast-utils getFunctionNameWithKind should return "async method 'foo'" for "({ ['foo']: async function() {} })".
> ok 16940 ast-utils getFunctionNameWithKind should return "async method" for "({ [foo]: async function() {} })".
> ok 16941 ast-utils getFunctionNameWithKind should return "async method 'foo'" for "({ async foo() {} })".
> ok 16942 ast-utils getFunctionNameWithKind should return "getter 'foo'" for "({ get foo() {} })".
> ok 16943 ast-utils getFunctionNameWithKind should return "setter 'foo'" for "({ set foo(a) {} })".
> ok 16944 ast-utils getFunctionNameWithKind should return "constructor" for "class A { constructor() {} }".
> ok 16945 ast-utils getFunctionNameWithKind should return "method 'foo'" for "class A { foo() {} }".
> ok 16946 ast-utils getFunctionNameWithKind should return "generator method 'foo'" for "class A { *foo() {} }".
> ok 16947 ast-utils getFunctionNameWithKind should return "async method 'foo'" for "class A { async foo() {} }".
> ok 16948 ast-utils getFunctionNameWithKind should return "method 'foo'" for "class A { ['foo']() {} }".
> ok 16949 ast-utils getFunctionNameWithKind should return "generator method 'foo'" for "class A { *['foo']() {} }".
> ok 16950 ast-utils getFunctionNameWithKind should return "async method 'foo'" for "class A { async ['foo']() {} }".
> ok 16951 ast-utils getFunctionNameWithKind should return "method" for "class A { [foo]() {} }".
> ok 16952 ast-utils getFunctionNameWithKind should return "generator method" for "class A { *[foo]() {} }".
> ok 16953 ast-utils getFunctionNameWithKind should return "async method" for "class A { async [foo]() {} }".
> ok 16954 ast-utils getFunctionNameWithKind should return "getter 'foo'" for "class A { get foo() {} }".
> ok 16955 ast-utils getFunctionNameWithKind should return "setter 'foo'" for "class A { set foo(a) {} }".
> ok 16956 ast-utils getFunctionNameWithKind should return "static method 'foo'" for "class A { static foo() {} }".
> ok 16957 ast-utils getFunctionNameWithKind should return "static generator method 'foo'" for "class A { static *foo() {} }".
> ok 16958 ast-utils getFunctionNameWithKind should return "static async method 'foo'" for "class A { static async foo() {} }".
> ok 16959 ast-utils getFunctionNameWithKind should return "static getter 'foo'" for "class A { static get foo() {} }".
> ok 16960 ast-utils getFunctionNameWithKind should return "static setter 'foo'" for "class A { static set foo(a) {} }".
> ok 16961 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":0},"end":{"line":1,"column":12}}" for "function foo() {}".
> ok 16962 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}" for "(function foo() {})".
> ok 16963 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":1},"end":{"line":1,"column":9}}" for "(function() {})".
> ok 16964 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":0},"end":{"line":1,"column":13}}" for "function* foo() {}".
> ok 16965 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":1},"end":{"line":1,"column":14}}" for "(function* foo() {})".
> ok 16966 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":1},"end":{"line":1,"column":10}}" for "(function*() {})".
> ok 16967 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":5}}" for "() => {}".
> ok 16968 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":9},"end":{"line":1,"column":11}}" for "async () => {}".
> ok 16969 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":20}}" for "({ foo: function foo() {} })".
> ok 16970 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":16}}" for "({ foo: function() {} })".
> ok 16971 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":20}}" for "({ ['foo']: function() {} })".
> ok 16972 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":18}}" for "({ [foo]: function() {} })".
> ok 16973 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":6}}" for "({ foo() {} })".
> ok 16974 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":21}}" for "({ foo: function* foo() {} })".
> ok 16975 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":17}}" for "({ foo: function*() {} })".
> ok 16976 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":21}}" for "({ ['foo']: function*() {} })".
> ok 16977 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":19}}" for "({ [foo]: function*() {} })".
> ok 16978 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":7}}" for "({ *foo() {} })".
> ok 16979 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":26}}" for "({ foo: async function foo() {} })".
> ok 16980 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":22}}" for "({ foo: async function() {} })".
> ok 16981 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":26}}" for "({ ['foo']: async function() {} })".
> ok 16982 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":24}}" for "({ [foo]: async function() {} })".
> ok 16983 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":12}}" for "({ async foo() {} })".
> ok 16984 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":10}}" for "({ get foo() {} })".
> ok 16985 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":3},"end":{"line":1,"column":10}}" for "({ set foo(a) {} })".
> ok 16986 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":21}}" for "class A { constructor() {} }".
> ok 16987 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":13}}" for "class A { foo() {} }".
> ok 16988 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":14}}" for "class A { *foo() {} }".
> ok 16989 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":19}}" for "class A { async foo() {} }".
> ok 16990 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":17}}" for "class A { ['foo']() {} }".
> ok 16991 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":18}}" for "class A { *['foo']() {} }".
> ok 16992 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":23}}" for "class A { async ['foo']() {} }".
> ok 16993 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":15}}" for "class A { [foo]() {} }".
> ok 16994 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":16}}" for "class A { *[foo]() {} }".
> ok 16995 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":21}}" for "class A { async [foo]() {} }".
> ok 16996 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":17}}" for "class A { get foo() {} }".
> ok 16997 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":17}}" for "class A { set foo(a) {} }".
> ok 16998 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":20}}" for "class A { static foo() {} }".
> ok 16999 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":21}}" for "class A { static *foo() {} }".
> ok 17000 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":26}}" for "class A { static async foo() {} }".
> ok 17001 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":24}}" for "class A { static get foo() {} }".
> ok 17002 ast-utils getFunctionHeadLoc should return "{"start":{"line":1,"column":10},"end":{"line":1,"column":24}}" for "class A { static set foo(a) {} }".
> ok 17003 ast-utils isEmptyBlock should return true for {}
> ok 17004 ast-utils isEmptyBlock should return false for { a }
> ok 17005 ast-utils isEmptyBlock should return false for a
> ok 17006 ast-utils isEmptyFunction should return true for (function foo() {})
> ok 17007 ast-utils isEmptyFunction should return false for (function foo() { a })
> ok 17008 ast-utils isEmptyFunction should return true for (a) => {}
> ok 17009 ast-utils isEmptyFunction should return false for (a) => { a }
> ok 17010 ast-utils isEmptyFunction should return false for (a) => a
> ok 17011 ast-utils getParenthesisedText should return (((foo))) for (((foo))); bar;
> ok 17012 ast-utils getParenthesisedText should return (/* comment */(((foo.bar())))) for (/* comment */(((foo.bar())))); baz();
> ok 17013 ast-utils getParenthesisedText should return (foo, bar) for (foo, bar)
> ok 17014 ast-utils couldBeError returns false for 5
> ok 17015 ast-utils couldBeError returns false for null
> ok 17016 ast-utils couldBeError returns false for true
> ok 17017 ast-utils couldBeError returns false for 'foo'
> ok 17018 ast-utils couldBeError returns false for `foo`
> ok 17019 ast-utils couldBeError returns true for foo
> ok 17020 ast-utils couldBeError returns true for new Foo
> ok 17021 ast-utils couldBeError returns true for Foo()
> ok 17022 ast-utils couldBeError returns true for foo`bar`
> ok 17023 ast-utils couldBeError returns true for foo.bar
> ok 17024 ast-utils couldBeError returns true for (foo = bar)
> ok 17025 ast-utils couldBeError returns false for (foo = 1)
> ok 17026 ast-utils couldBeError returns false for (1, 2, 3)
> ok 17027 ast-utils couldBeError returns false for (foo, 2, 3)
> ok 17028 ast-utils couldBeError returns true for (1, 2, foo)
> ok 17029 ast-utils couldBeError returns false for 1 && 2
> ok 17030 ast-utils couldBeError returns true for 1 && foo
> ok 17031 ast-utils couldBeError returns true for foo && 2
> ok 17032 ast-utils couldBeError returns false for foo ? 1 : 2
> ok 17033 ast-utils couldBeError returns true for foo ? bar : 2
> ok 17034 ast-utils couldBeError returns true for foo ? 1 : bar
> ok 17035 ast-utils couldBeError returns false for [1, 2, 3]
> ok 17036 ast-utils couldBeError returns false for ({ foo: 1 })
> ok 17037 ast-utils isArrowToken should return false for '('.
> ok 17038 ast-utils isArrowToken should return false for ')'.
> ok 17039 ast-utils isArrowToken should return true for '=>'.
> ok 17040 ast-utils isArrowToken should return false for '5'.
> ok 17041 ast-utils isClosingBraceToken should return false for 'if'.
> ok 17042 ast-utils isClosingBraceToken should return false for '('.
> ok 17043 ast-utils isClosingBraceToken should return false for 'obj'.
> ok 17044 ast-utils isClosingBraceToken should return false for '&&'.
> ok 17045 ast-utils isClosingBraceToken should return false for 'foo'.
> ok 17046 ast-utils isClosingBraceToken should return false for ')'.
> ok 17047 ast-utils isClosingBraceToken should return false for '{'.
> ok 17048 ast-utils isClosingBraceToken should return false for 'obj'.
> ok 17049 ast-utils isClosingBraceToken should return false for '['.
> ok 17050 ast-utils isClosingBraceToken should return false for 'foo'.
> ok 17051 ast-utils isClosingBraceToken should return false for ']'.
> ok 17052 ast-utils isClosingBraceToken should return false for '('.
> ok 17053 ast-utils isClosingBraceToken should return false for ')'.
> ok 17054 ast-utils isClosingBraceToken should return false for ';'.
> ok 17055 ast-utils isClosingBraceToken should return true for '}'.
> ok 17056 ast-utils isNotClosingBraceToken should return false for 'if'.
> ok 17057 ast-utils isNotClosingBraceToken should return false for '('.
> ok 17058 ast-utils isNotClosingBraceToken should return false for 'obj'.
> ok 17059 ast-utils isNotClosingBraceToken should return false for '&&'.
> ok 17060 ast-utils isNotClosingBraceToken should return false for 'foo'.
> ok 17061 ast-utils isNotClosingBraceToken should return false for ')'.
> ok 17062 ast-utils isNotClosingBraceToken should return false for '{'.
> ok 17063 ast-utils isNotClosingBraceToken should return false for 'obj'.
> ok 17064 ast-utils isNotClosingBraceToken should return false for '['.
> ok 17065 ast-utils isNotClosingBraceToken should return false for 'foo'.
> ok 17066 ast-utils isNotClosingBraceToken should return false for ']'.
> ok 17067 ast-utils isNotClosingBraceToken should return false for '('.
> ok 17068 ast-utils isNotClosingBraceToken should return false for ')'.
> ok 17069 ast-utils isNotClosingBraceToken should return false for ';'.
> ok 17070 ast-utils isNotClosingBraceToken should return true for '}'.
> ok 17071 ast-utils isClosingBracketToken should return false for 'if'.
> ok 17072 ast-utils isClosingBracketToken should return false for '('.
> ok 17073 ast-utils isClosingBracketToken should return false for 'obj'.
> ok 17074 ast-utils isClosingBracketToken should return false for '&&'.
> ok 17075 ast-utils isClosingBracketToken should return false for 'foo'.
> ok 17076 ast-utils isClosingBracketToken should return false for ')'.
> ok 17077 ast-utils isClosingBracketToken should return false for '{'.
> ok 17078 ast-utils isClosingBracketToken should return false for 'obj'.
> ok 17079 ast-utils isClosingBracketToken should return false for '['.
> ok 17080 ast-utils isClosingBracketToken should return false for 'foo'.
> ok 17081 ast-utils isClosingBracketToken should return true for ']'.
> ok 17082 ast-utils isClosingBracketToken should return false for '('.
> ok 17083 ast-utils isClosingBracketToken should return false for ')'.
> ok 17084 ast-utils isClosingBracketToken should return false for ';'.
> ok 17085 ast-utils isClosingBracketToken should return false for '}'.
> ok 17086 ast-utils isNotClosingBracketToken should return false for 'if'.
> ok 17087 ast-utils isNotClosingBracketToken should return false for '('.
> ok 17088 ast-utils isNotClosingBracketToken should return false for 'obj'.
> ok 17089 ast-utils isNotClosingBracketToken should return false for '&&'.
> ok 17090 ast-utils isNotClosingBracketToken should return false for 'foo'.
> ok 17091 ast-utils isNotClosingBracketToken should return false for ')'.
> ok 17092 ast-utils isNotClosingBracketToken should return false for '{'.
> ok 17093 ast-utils isNotClosingBracketToken should return false for 'obj'.
> ok 17094 ast-utils isNotClosingBracketToken should return false for '['.
> ok 17095 ast-utils isNotClosingBracketToken should return false for 'foo'.
> ok 17096 ast-utils isNotClosingBracketToken should return true for ']'.
> ok 17097 ast-utils isNotClosingBracketToken should return false for '('.
> ok 17098 ast-utils isNotClosingBracketToken should return false for ')'.
> ok 17099 ast-utils isNotClosingBracketToken should return false for ';'.
> ok 17100 ast-utils isNotClosingBracketToken should return false for '}'.
> ok 17101 ast-utils isClosingParenToken should return false for 'if'.
> ok 17102 ast-utils isClosingParenToken should return false for '('.
> ok 17103 ast-utils isClosingParenToken should return false for 'obj'.
> ok 17104 ast-utils isClosingParenToken should return false for '&&'.
> ok 17105 ast-utils isClosingParenToken should return false for 'foo'.
> ok 17106 ast-utils isClosingParenToken should return true for ')'.
> ok 17107 ast-utils isClosingParenToken should return false for '{'.
> ok 17108 ast-utils isClosingParenToken should return false for 'obj'.
> ok 17109 ast-utils isClosingParenToken should return false for '['.
> ok 17110 ast-utils isClosingParenToken should return false for 'foo'.
> ok 17111 ast-utils isClosingParenToken should return false for ']'.
> ok 17112 ast-utils isClosingParenToken should return false for '('.
> ok 17113 ast-utils isClosingParenToken should return true for ')'.
> ok 17114 ast-utils isClosingParenToken should return false for ';'.
> ok 17115 ast-utils isClosingParenToken should return false for '}'.
> ok 17116 ast-utils isNotClosingParenToken should return false for 'if'.
> ok 17117 ast-utils isNotClosingParenToken should return false for '('.
> ok 17118 ast-utils isNotClosingParenToken should return false for 'obj'.
> ok 17119 ast-utils isNotClosingParenToken should return false for '&&'.
> ok 17120 ast-utils isNotClosingParenToken should return false for 'foo'.
> ok 17121 ast-utils isNotClosingParenToken should return true for ')'.
> ok 17122 ast-utils isNotClosingParenToken should return false for '{'.
> ok 17123 ast-utils isNotClosingParenToken should return false for 'obj'.
> ok 17124 ast-utils isNotClosingParenToken should return false for '['.
> ok 17125 ast-utils isNotClosingParenToken should return false for 'foo'.
> ok 17126 ast-utils isNotClosingParenToken should return false for ']'.
> ok 17127 ast-utils isNotClosingParenToken should return false for '('.
> ok 17128 ast-utils isNotClosingParenToken should return true for ')'.
> ok 17129 ast-utils isNotClosingParenToken should return false for ';'.
> ok 17130 ast-utils isNotClosingParenToken should return false for '}'.
> ok 17131 ast-utils isColonToken should return false for 'const'.
> ok 17132 ast-utils isColonToken should return false for 'obj'.
> ok 17133 ast-utils isColonToken should return false for '='.
> ok 17134 ast-utils isColonToken should return false for '{'.
> ok 17135 ast-utils isColonToken should return false for 'foo'.
> ok 17136 ast-utils isColonToken should return true for ':'.
> ok 17137 ast-utils isColonToken should return false for '1'.
> ok 17138 ast-utils isColonToken should return false for ','.
> ok 17139 ast-utils isColonToken should return false for 'bar'.
> ok 17140 ast-utils isColonToken should return true for ':'.
> ok 17141 ast-utils isColonToken should return false for '2'.
> ok 17142 ast-utils isColonToken should return false for '}'.
> ok 17143 ast-utils isColonToken should return false for ';'.
> ok 17144 ast-utils isNotColonToken should return false for 'const'.
> ok 17145 ast-utils isNotColonToken should return false for 'obj'.
> ok 17146 ast-utils isNotColonToken should return false for '='.
> ok 17147 ast-utils isNotColonToken should return false for '{'.
> ok 17148 ast-utils isNotColonToken should return false for 'foo'.
> ok 17149 ast-utils isNotColonToken should return true for ':'.
> ok 17150 ast-utils isNotColonToken should return false for '1'.
> ok 17151 ast-utils isNotColonToken should return false for ','.
> ok 17152 ast-utils isNotColonToken should return false for 'bar'.
> ok 17153 ast-utils isNotColonToken should return true for ':'.
> ok 17154 ast-utils isNotColonToken should return false for '2'.
> ok 17155 ast-utils isNotColonToken should return false for '}'.
> ok 17156 ast-utils isNotColonToken should return false for ';'.
> ok 17157 ast-utils isCommaToken should return false for 'const'.
> ok 17158 ast-utils isCommaToken should return false for 'obj'.
> ok 17159 ast-utils isCommaToken should return false for '='.
> ok 17160 ast-utils isCommaToken should return false for '{'.
> ok 17161 ast-utils isCommaToken should return false for 'foo'.
> ok 17162 ast-utils isCommaToken should return false for ':'.
> ok 17163 ast-utils isCommaToken should return false for '1'.
> ok 17164 ast-utils isCommaToken should return true for ','.
> ok 17165 ast-utils isCommaToken should return false for 'bar'.
> ok 17166 ast-utils isCommaToken should return false for ':'.
> ok 17167 ast-utils isCommaToken should return false for '2'.
> ok 17168 ast-utils isCommaToken should return false for '}'.
> ok 17169 ast-utils isCommaToken should return false for ';'.
> ok 17170 ast-utils isNotCommaToken should return false for 'const'.
> ok 17171 ast-utils isNotCommaToken should return false for 'obj'.
> ok 17172 ast-utils isNotCommaToken should return false for '='.
> ok 17173 ast-utils isNotCommaToken should return false for '{'.
> ok 17174 ast-utils isNotCommaToken should return false for 'foo'.
> ok 17175 ast-utils isNotCommaToken should return false for ':'.
> ok 17176 ast-utils isNotCommaToken should return false for '1'.
> ok 17177 ast-utils isNotCommaToken should return true for ','.
> ok 17178 ast-utils isNotCommaToken should return false for 'bar'.
> ok 17179 ast-utils isNotCommaToken should return false for ':'.
> ok 17180 ast-utils isNotCommaToken should return false for '2'.
> ok 17181 ast-utils isNotCommaToken should return false for '}'.
> ok 17182 ast-utils isNotCommaToken should return false for ';'.
> ok 17183 ast-utils isCommentToken should return false for 'const'.
> ok 17184 ast-utils isCommentToken should return false for 'obj'.
> ok 17185 ast-utils isCommentToken should return false for '='.
> ok 17186 ast-utils isCommentToken should return false for '{'.
> ok 17187 ast-utils isCommentToken should return false for 'foo'.
> ok 17188 ast-utils isCommentToken should return false for ':'.
> ok 17189 ast-utils isCommentToken should return false for '1'.
> ok 17190 ast-utils isCommentToken should return false for ','.
> ok 17191 ast-utils isCommentToken should return false for 'bar'.
> ok 17192 ast-utils isCommentToken should return false for ':'.
> ok 17193 ast-utils isCommentToken should return false for '2'.
> ok 17194 ast-utils isCommentToken should return false for '}'.
> ok 17195 ast-utils isCommentToken should return false for ';'.
> ok 17196 ast-utils isCommentToken should return true for 'block'.
> ok 17197 ast-utils isCommentToken should return true for 'line'.
> ok 17198 ast-utils isKeywordToken should return true for 'const'.
> ok 17199 ast-utils isKeywordToken should return false for 'obj'.
> ok 17200 ast-utils isKeywordToken should return false for '='.
> ok 17201 ast-utils isKeywordToken should return false for '{'.
> ok 17202 ast-utils isKeywordToken should return false for 'foo'.
> ok 17203 ast-utils isKeywordToken should return false for ':'.
> ok 17204 ast-utils isKeywordToken should return false for '1'.
> ok 17205 ast-utils isKeywordToken should return false for ','.
> ok 17206 ast-utils isKeywordToken should return false for 'bar'.
> ok 17207 ast-utils isKeywordToken should return false for ':'.
> ok 17208 ast-utils isKeywordToken should return false for '2'.
> ok 17209 ast-utils isKeywordToken should return false for '}'.
> ok 17210 ast-utils isKeywordToken should return false for ';'.
> ok 17211 ast-utils isOpeningBraceToken should return false for 'if'.
> ok 17212 ast-utils isOpeningBraceToken should return false for '('.
> ok 17213 ast-utils isOpeningBraceToken should return false for 'obj'.
> ok 17214 ast-utils isOpeningBraceToken should return false for '&&'.
> ok 17215 ast-utils isOpeningBraceToken should return false for 'foo'.
> ok 17216 ast-utils isOpeningBraceToken should return false for ')'.
> ok 17217 ast-utils isOpeningBraceToken should return true for '{'.
> ok 17218 ast-utils isOpeningBraceToken should return false for 'obj'.
> ok 17219 ast-utils isOpeningBraceToken should return false for '['.
> ok 17220 ast-utils isOpeningBraceToken should return false for 'foo'.
> ok 17221 ast-utils isOpeningBraceToken should return false for ']'.
> ok 17222 ast-utils isOpeningBraceToken should return false for '('.
> ok 17223 ast-utils isOpeningBraceToken should return false for ')'.
> ok 17224 ast-utils isOpeningBraceToken should return false for ';'.
> ok 17225 ast-utils isOpeningBraceToken should return false for '}'.
> ok 17226 ast-utils isNotOpeningBraceToken should return false for 'if'.
> ok 17227 ast-utils isNotOpeningBraceToken should return false for '('.
> ok 17228 ast-utils isNotOpeningBraceToken should return false for 'obj'.
> ok 17229 ast-utils isNotOpeningBraceToken should return false for '&&'.
> ok 17230 ast-utils isNotOpeningBraceToken should return false for 'foo'.
> ok 17231 ast-utils isNotOpeningBraceToken should return false for ')'.
> ok 17232 ast-utils isNotOpeningBraceToken should return true for '{'.
> ok 17233 ast-utils isNotOpeningBraceToken should return false for 'obj'.
> ok 17234 ast-utils isNotOpeningBraceToken should return false for '['.
> ok 17235 ast-utils isNotOpeningBraceToken should return false for 'foo'.
> ok 17236 ast-utils isNotOpeningBraceToken should return false for ']'.
> ok 17237 ast-utils isNotOpeningBraceToken should return false for '('.
> ok 17238 ast-utils isNotOpeningBraceToken should return false for ')'.
> ok 17239 ast-utils isNotOpeningBraceToken should return false for ';'.
> ok 17240 ast-utils isNotOpeningBraceToken should return false for '}'.
> ok 17241 ast-utils isOpeningBracketToken should return false for 'if'.
> ok 17242 ast-utils isOpeningBracketToken should return false for '('.
> ok 17243 ast-utils isOpeningBracketToken should return false for 'obj'.
> ok 17244 ast-utils isOpeningBracketToken should return false for '&&'.
> ok 17245 ast-utils isOpeningBracketToken should return false for 'foo'.
> ok 17246 ast-utils isOpeningBracketToken should return false for ')'.
> ok 17247 ast-utils isOpeningBracketToken should return false for '{'.
> ok 17248 ast-utils isOpeningBracketToken should return false for 'obj'.
> ok 17249 ast-utils isOpeningBracketToken should return true for '['.
> ok 17250 ast-utils isOpeningBracketToken should return false for 'foo'.
> ok 17251 ast-utils isOpeningBracketToken should return false for ']'.
> ok 17252 ast-utils isOpeningBracketToken should return false for '('.
> ok 17253 ast-utils isOpeningBracketToken should return false for ')'.
> ok 17254 ast-utils isOpeningBracketToken should return false for ';'.
> ok 17255 ast-utils isOpeningBracketToken should return false for '}'.
> ok 17256 ast-utils isNotOpeningBracketToken should return false for 'if'.
> ok 17257 ast-utils isNotOpeningBracketToken should return false for '('.
> ok 17258 ast-utils isNotOpeningBracketToken should return false for 'obj'.
> ok 17259 ast-utils isNotOpeningBracketToken should return false for '&&'.
> ok 17260 ast-utils isNotOpeningBracketToken should return false for 'foo'.
> ok 17261 ast-utils isNotOpeningBracketToken should return false for ')'.
> ok 17262 ast-utils isNotOpeningBracketToken should return false for '{'.
> ok 17263 ast-utils isNotOpeningBracketToken should return false for 'obj'.
> ok 17264 ast-utils isNotOpeningBracketToken should return true for '['.
> ok 17265 ast-utils isNotOpeningBracketToken should return false for 'foo'.
> ok 17266 ast-utils isNotOpeningBracketToken should return false for ']'.
> ok 17267 ast-utils isNotOpeningBracketToken should return false for '('.
> ok 17268 ast-utils isNotOpeningBracketToken should return false for ')'.
> ok 17269 ast-utils isNotOpeningBracketToken should return false for ';'.
> ok 17270 ast-utils isNotOpeningBracketToken should return false for '}'.
> ok 17271 ast-utils isOpeningParenToken should return false for 'if'.
> ok 17272 ast-utils isOpeningParenToken should return true for '('.
> ok 17273 ast-utils isOpeningParenToken should return false for 'obj'.
> ok 17274 ast-utils isOpeningParenToken should return false for '&&'.
> ok 17275 ast-utils isOpeningParenToken should return false for 'foo'.
> ok 17276 ast-utils isOpeningParenToken should return false for ')'.
> ok 17277 ast-utils isOpeningParenToken should return false for '{'.
> ok 17278 ast-utils isOpeningParenToken should return false for 'obj'.
> ok 17279 ast-utils isOpeningParenToken should return false for '['.
> ok 17280 ast-utils isOpeningParenToken should return false for 'foo'.
> ok 17281 ast-utils isOpeningParenToken should return false for ']'.
> ok 17282 ast-utils isOpeningParenToken should return true for '('.
> ok 17283 ast-utils isOpeningParenToken should return false for ')'.
> ok 17284 ast-utils isOpeningParenToken should return false for ';'.
> ok 17285 ast-utils isOpeningParenToken should return false for '}'.
> ok 17286 ast-utils isNotOpeningParenToken should return false for 'if'.
> ok 17287 ast-utils isNotOpeningParenToken should return true for '('.
> ok 17288 ast-utils isNotOpeningParenToken should return false for 'obj'.
> ok 17289 ast-utils isNotOpeningParenToken should return false for '&&'.
> ok 17290 ast-utils isNotOpeningParenToken should return false for 'foo'.
> ok 17291 ast-utils isNotOpeningParenToken should return false for ')'.
> ok 17292 ast-utils isNotOpeningParenToken should return false for '{'.
> ok 17293 ast-utils isNotOpeningParenToken should return false for 'obj'.
> ok 17294 ast-utils isNotOpeningParenToken should return false for '['.
> ok 17295 ast-utils isNotOpeningParenToken should return false for 'foo'.
> ok 17296 ast-utils isNotOpeningParenToken should return false for ']'.
> ok 17297 ast-utils isNotOpeningParenToken should return true for '('.
> ok 17298 ast-utils isNotOpeningParenToken should return false for ')'.
> ok 17299 ast-utils isNotOpeningParenToken should return false for ';'.
> ok 17300 ast-utils isNotOpeningParenToken should return false for '}'.
> ok 17301 ast-utils isSemicolonToken should return false for 'if'.
> ok 17302 ast-utils isSemicolonToken should return false for '('.
> ok 17303 ast-utils isSemicolonToken should return false for 'obj'.
> ok 17304 ast-utils isSemicolonToken should return false for '&&'.
> ok 17305 ast-utils isSemicolonToken should return false for 'foo'.
> ok 17306 ast-utils isSemicolonToken should return false for ')'.
> ok 17307 ast-utils isSemicolonToken should return false for '{'.
> ok 17308 ast-utils isSemicolonToken should return false for 'obj'.
> ok 17309 ast-utils isSemicolonToken should return false for '['.
> ok 17310 ast-utils isSemicolonToken should return false for 'foo'.
> ok 17311 ast-utils isSemicolonToken should return false for ']'.
> ok 17312 ast-utils isSemicolonToken should return false for '('.
> ok 17313 ast-utils isSemicolonToken should return false for ')'.
> ok 17314 ast-utils isSemicolonToken should return true for ';'.
> ok 17315 ast-utils isSemicolonToken should return false for '}'.
> ok 17316 ast-utils isNotSemicolonToken should return false for 'if'.
> ok 17317 ast-utils isNotSemicolonToken should return false for '('.
> ok 17318 ast-utils isNotSemicolonToken should return false for 'obj'.
> ok 17319 ast-utils isNotSemicolonToken should return false for '&&'.
> ok 17320 ast-utils isNotSemicolonToken should return false for 'foo'.
> ok 17321 ast-utils isNotSemicolonToken should return false for ')'.
> ok 17322 ast-utils isNotSemicolonToken should return false for '{'.
> ok 17323 ast-utils isNotSemicolonToken should return false for 'obj'.
> ok 17324 ast-utils isNotSemicolonToken should return false for '['.
> ok 17325 ast-utils isNotSemicolonToken should return false for 'foo'.
> ok 17326 ast-utils isNotSemicolonToken should return false for ']'.
> ok 17327 ast-utils isNotSemicolonToken should return false for '('.
> ok 17328 ast-utils isNotSemicolonToken should return false for ')'.
> ok 17329 ast-utils isNotSemicolonToken should return true for ';'.
> ok 17330 ast-utils isNotSemicolonToken should return false for '}'.
> ok 17331 ast-utils isNullLiteral returns false for 5
> ok 17332 ast-utils isNullLiteral returns true for null
> ok 17333 ast-utils isNullLiteral returns false for /abc/u
> ok 17334 ast-utils isNullLiteral returns false for true
> ok 17335 ast-utils isNullLiteral returns false for 'null'
> ok 17336 ast-utils isNullLiteral returns false for foo
> ok 17337 ast-utils createGlobalLinebreakMatcher returns a regular expression with the g flag
> ok 17338 ast-utils createGlobalLinebreakMatcher returns unique objects on each call
> ok 17339 ast-utils createGlobalLinebreakMatcher correctly matches linebreaks foo
> ok 17340 ast-utils createGlobalLinebreakMatcher correctly matches linebreaks foo
> bar
> ok 17341 ast-utils createGlobalLinebreakMatcher correctly matches linebreaks foo
> 
> ok 17342 ast-utils createGlobalLinebreakMatcher correctly matches linebreaks foo
> bar
> ok 17343 ast-utils createGlobalLinebreakMatcher correctly matches linebreaks foo
> 
> bar
> ok 17344 ast-utils createGlobalLinebreakMatcher correctly matches linebreaks foo
> 
bar
> ok 17345 ast-utils createGlobalLinebreakMatcher correctly matches linebreaks foo
bar
> ok 17346 ast-utils canTokensBeAdjacent foo, bar
> ok 17347 ast-utils canTokensBeAdjacent ;foo, bar
> ok 17348 ast-utils canTokensBeAdjacent ;, bar
> ok 17349 ast-utils canTokensBeAdjacent ), bar
> ok 17350 ast-utils canTokensBeAdjacent foo0, bar
> ok 17351 ast-utils canTokensBeAdjacent foo;, bar
> ok 17352 ast-utils canTokensBeAdjacent foo, 0
> ok 17353 ast-utils canTokensBeAdjacent of, .2
> ok 17354 ast-utils canTokensBeAdjacent 2, .2
> ok 17355 ast-utils canTokensBeAdjacent of, 'foo'
> ok 17356 ast-utils canTokensBeAdjacent foo, `bar`
> ok 17357 ast-utils canTokensBeAdjacent `foo`, in
> ok 17358 ast-utils canTokensBeAdjacent of, 0.2
> ok 17359 ast-utils canTokensBeAdjacent of, 0.
> ok 17360 ast-utils canTokensBeAdjacent .2, foo
> ok 17361 ast-utils canTokensBeAdjacent 2., foo
> ok 17362 ast-utils canTokensBeAdjacent +, -
> ok 17363 ast-utils canTokensBeAdjacent ++, -
> ok 17364 ast-utils canTokensBeAdjacent +, --
> ok 17365 ast-utils canTokensBeAdjacent ++, --
> ok 17366 ast-utils canTokensBeAdjacent -, +
> ok 17367 ast-utils canTokensBeAdjacent --, +
> ok 17368 ast-utils canTokensBeAdjacent -, ++
> ok 17369 ast-utils canTokensBeAdjacent --, ++
> ok 17370 ast-utils canTokensBeAdjacent +, +
> ok 17371 ast-utils canTokensBeAdjacent -, -
> ok 17372 ast-utils canTokensBeAdjacent ++, +
> ok 17373 ast-utils canTokensBeAdjacent --, -
> ok 17374 ast-utils canTokensBeAdjacent +, ++
> ok 17375 ast-utils canTokensBeAdjacent -, --
> ok 17376 ast-utils equalTokens should return true if tokens are equal
> ok 17377 ast-utils equalTokens should return false if tokens are not equal
> ok 17378 ConfigCommentParser parseJsonConfig should parse JSON config with one item
> ok 17379 ConfigCommentParser parseJsonConfig should parse JSON config with two items
> ok 17380 ConfigCommentParser parseJsonConfig should parse JSON config with two comma-separated items
> ok 17381 ConfigCommentParser parseJsonConfig should parse JSON config with two items and a string severity
> ok 17382 ConfigCommentParser parseJsonConfig should parse JSON config with two items and options
> ok 17383 ConfigCommentParser parseJsonConfig should parse JSON config with two items and options from plugins
> ok 17384 ConfigCommentParser parseStringConfig should parse String config with one item
> ok 17385 ConfigCommentParser parseStringConfig should parse String config with one item and no value
> ok 17386 ConfigCommentParser parseStringConfig should parse String config with two items
> ok 17387 ConfigCommentParser parseStringConfig should parse String config with two comma-separated items
> ok 17388 ConfigCommentParser parseStringConfig should parse String config with two comma-separated items and no values
> ok 17389 ConfigCommentParser parseListConfig should parse list config with one item
> ok 17390 ConfigCommentParser parseListConfig should parse list config with two items
> ok 17391 ConfigCommentParser parseListConfig should parse list config with two items and exta whitespace
> ok 17392 FileFinder findAllInDirectoryAndParents() a file present in the cwd should be found, and returned as the first element of an array
> ok 17393 FileFinder findAllInDirectoryAndParents() a file present in a parent directory should be found, and returned as the first element of an array
> ok 17394 FileFinder findAllInDirectoryAndParents() a relative file present in a parent directory should be found, and returned as the first element of an array
> ok 17395 FileFinder findAllInDirectoryAndParents() searching for multiple files should return only the first specified file
> ok 17396 FileFinder findAllInDirectoryAndParents() searching for multiple files should return the second file when the first is missing
> ok 17397 FileFinder findAllInDirectoryAndParents() searching for multiple files should return multiple files when the first is missing and more than one filename is requested
> ok 17398 FileFinder findAllInDirectoryAndParents() two files present with the same name in parent directories should both be found, and returned in an array
> ok 17399 FileFinder findAllInDirectoryAndParents() two files present with the same name in parent directories should be in the cache after they have been found
> ok 17400 FileFinder findAllInDirectoryAndParents() an absent file should not be found, and an empty array returned
> ok 17401 FileFinder findAllInDirectoryAndParents() Not consider directory with expected file names should only find one package.json from the root
> ok 17402 FixTracker replaceTextRange should expand to include an explicitly retained range
> ok 17403 FixTracker replaceTextRange ignores a retained range that's smaller than the replaced range
> ok 17404 FixTracker replaceTextRange allows an unspecified retained range
> ok 17405 FixTracker remove should expand to include an explicitly retained range
> ok 17406 FixTracker retainEnclosingFunction handles a normal enclosing function
> ok 17407 FixTracker retainEnclosingFunction handles the case when there is no enclosing function
> ok 17408 FixTracker retainSurroungingTokens handles a change to a binary operator
> ok 17409 interpolate() passes through text without {{ }}
> ok 17410 interpolate() passes through text with {{ }} that don’t match a key
> ok 17411 interpolate() Properly interpolates keys in {{ }}
> ok 17412 ModuleResolver resolve() with leche,,/usr/share/nodejs/leche/lib/leche.js should find the correct location of a file
> ok 17413 ModuleResolver resolve() with foo,/<<PKGBUILDDIR>>/tests/fixtures/module-resolver/node_modules,/<<PKGBUILDDIR>>/tests/fixtures/module-resolver/node_modules/foo.js should find the correct location of a file
> ok 17414 naming normalizePackageName() with foo,eslint-config-foo should return eslint-config-foo when passed foo
> ok 17415 naming normalizePackageName() with eslint-config-foo,eslint-config-foo should return eslint-config-foo when passed eslint-config-foo
> ok 17416 naming normalizePackageName() with @z/foo, at z/eslint-config-foo should return @z/eslint-config-foo when passed @z/foo
> ok 17417 naming normalizePackageName() with @z\foo, at z/eslint-config-foo should return @z/eslint-config-foo when passed @z\foo
> ok 17418 naming normalizePackageName() with @z\foo\bar.js, at z/eslint-config-foo/bar.js should return @z/eslint-config-foo/bar.js when passed @z\foo\bar.js
> ok 17419 naming normalizePackageName() with @z/eslint-config, at z/eslint-config should return @z/eslint-config when passed @z/eslint-config
> ok 17420 naming normalizePackageName() with @z/eslint-config-foo, at z/eslint-config-foo should return @z/eslint-config-foo when passed @z/eslint-config-foo
> ok 17421 naming getShorthandName() with foo,foo should return foo when passed foo
> ok 17422 naming getShorthandName() with eslint-config-foo,foo should return foo when passed eslint-config-foo
> ok 17423 naming getShorthandName() with @z, at z should return @z when passed @z
> ok 17424 naming getShorthandName() with @z/eslint-config, at z should return @z when passed @z/eslint-config
> ok 17425 naming getShorthandName() with @z/foo, at z/foo should return @z/foo when passed @z/foo
> ok 17426 naming getShorthandName() with @z/eslint-config-foo, at z/foo should return @z/foo when passed @z/eslint-config-foo
> ok 17427 naming getNamespaceFromTerm() should remove namepace when passed with namepace
> ok 17428 pathUtil convertPathToPosix() should remove a leading './'
> ok 17429 pathUtil convertPathToPosix() should remove interior '../'
> ok 17430 pathUtil convertPathToPosix() should not remove a leading '../'
> ok 17431 pathUtil convertPathToPosix() should convert windows path seperators into posix style path seperators
> ok 17432 pathUtil getRelativePath() should return a path relative to the provided base path
> ok 17433 pathUtil getRelativePath() should throw if the base path is not absolute
> ok 17434 pathUtil getRelativePath() should treat relative file path arguments as being relative to process.cwd
> ok 17435 pathUtil getRelativePath() should strip a leading '/' if no baseDir is provided
> ok 17436 createReportTranslator old-style call with location should extract the location correctly
> ok 17437 createReportTranslator old-style call without location should use the start location and end location of the node
> ok 17438 createReportTranslator new-style call with all options should include the new-style options in the report
> ok 17439 createReportTranslator new-style call with all options should translate the messageId into a message
> ok 17440 createReportTranslator new-style call with all options should throw when both messageId and message are provided
> ok 17441 createReportTranslator new-style call with all options should throw when an invalid messageId is provided
> ok 17442 createReportTranslator new-style call with all options should throw when no message is provided
> ok 17443 createReportTranslator combining autofixes should merge fixes to one if 'fix' function returns an array of fixes.
> ok 17444 createReportTranslator combining autofixes should merge fixes to one if 'fix' function returns an iterator of fixes.
> ok 17445 createReportTranslator combining autofixes should pass through fixes if only one is present
> ok 17446 createReportTranslator combining autofixes should handle inserting BOM correctly.
> ok 17447 createReportTranslator combining autofixes should handle removing BOM correctly.
> ok 17448 createReportTranslator combining autofixes should throw an assertion error if ranges are overlapped.
> ok 17449 createReportTranslator combining autofixes should include a fix passed as the last argument when location is passed
> ok 17450 createReportTranslator message interpolation should correctly parse a message when being passed all options in an old-style report
> ok 17451 createReportTranslator message interpolation should correctly parse a message when being passed all options in a new-style report
> ok 17452 createReportTranslator message interpolation should correctly parse a message with object keys as numbers
> ok 17453 createReportTranslator message interpolation should correctly parse a message with array
> ok 17454 createReportTranslator message interpolation should allow template parameter with inner whitespace
> ok 17455 createReportTranslator message interpolation should allow template parameter with non-identifier characters
> ok 17456 createReportTranslator message interpolation should allow template parameter wrapped in braces
> ok 17457 createReportTranslator message interpolation should ignore template parameter with no specified value
> ok 17458 createReportTranslator message interpolation should handle leading whitespace in template parameter
> ok 17459 createReportTranslator message interpolation should handle trailing whitespace in template parameter
> ok 17460 createReportTranslator message interpolation should still allow inner whitespace as well as leading/trailing
> ok 17461 createReportTranslator message interpolation should still allow non-identifier characters as well as leading/trailing whitespace
> ok 17462 createReportTranslator location inference should use the provided location when given in an old-style call
> ok 17463 createReportTranslator location inference should use the provided location when given in an new-style call
> ok 17464 createReportTranslator location inference should extract the start and end locations from a node if no location is provided
> ok 17465 createReportTranslator location inference should have 'endLine' and 'endColumn' when 'loc' property has 'end' property.
> ok 17466 createReportTranslator location inference should not have 'endLine' and 'endColumn' when 'loc' property does not have 'end' property.
> ok 17467 createReportTranslator location inference should infer an 'endLine' and 'endColumn' property when using the object-based context.report API
> ok 17468 createReportTranslator converting old-style calls should include a fix passed as the last argument when location is not passed
> ok 17469 createReportTranslator validation should throw an error if node is not an object
> ok 17470 createReportTranslator validation should not throw an error if location is provided and node is not in an old-style call
> ok 17471 createReportTranslator validation should not throw an error if location is provided and node is not in a new-style call
> ok 17472 createReportTranslator validation should throw an error if neither node nor location is provided
> ok 17473 RuleFixer insertTextBefore should return an object with the correct information when called
> ok 17474 RuleFixer insertTextBeforeRange should return an object with the correct information when called
> ok 17475 RuleFixer insertTextAfter should return an object with the correct information when called
> ok 17476 RuleFixer insertTextAfterRange should return an object with the correct information when called
> ok 17477 RuleFixer removeAfter should return an object with the correct information when called
> ok 17478 RuleFixer removeAfterRange should return an object with the correct information when called
> ok 17479 RuleFixer replaceText should return an object with the correct information when called
> ok 17480 RuleFixer replaceTextRange should return an object with the correct information when called
> ok 17481 safe-emitter emit() and on() allows listeners to be registered calls them when emitted
> ok 17482 safe-emitter emit() and on() calls listeners with no `this` value
> ok 17483 SourceCodeFixer constructor Should not be able to add anything to this
> ok 17484 SourceCodeFixer applyFixes() with no BOM shouldFix parameter Should not perform any fixes if 'shouldFix' is false
> ok 17485 SourceCodeFixer applyFixes() with no BOM shouldFix parameter Should perform fixes if 'shouldFix' is not provided
> ok 17486 SourceCodeFixer applyFixes() with no BOM shouldFix parameter should call a function provided as 'shouldFix' for each message
> ok 17487 SourceCodeFixer applyFixes() with no BOM shouldFix parameter should provide a message object as an argument to 'shouldFix'
> ok 17488 SourceCodeFixer applyFixes() with no BOM shouldFix parameter should not perform fixes if 'shouldFix' function returns false
> ok 17489 SourceCodeFixer applyFixes() with no BOM shouldFix parameter should return original text as output if 'shouldFix' function prevents all fixes
> ok 17490 SourceCodeFixer applyFixes() with no BOM shouldFix parameter should only apply fixes for which the 'shouldFix' function returns true
> ok 17491 SourceCodeFixer applyFixes() with no BOM shouldFix parameter is called without access to internal eslint state
> ok 17492 SourceCodeFixer applyFixes() with no BOM Text Insertion should insert text at the end of the code
> ok 17493 SourceCodeFixer applyFixes() with no BOM Text Insertion should insert text at the beginning of the code
> ok 17494 SourceCodeFixer applyFixes() with no BOM Text Insertion should insert text in the middle of the code
> ok 17495 SourceCodeFixer applyFixes() with no BOM Text Insertion should insert text at the beginning, middle, and end of the code
> ok 17496 SourceCodeFixer applyFixes() with no BOM Text Insertion should ignore reversed ranges
> ok 17497 SourceCodeFixer applyFixes() with no BOM Text Replacement should replace text at the end of the code
> ok 17498 SourceCodeFixer applyFixes() with no BOM Text Replacement should replace text at the beginning of the code
> ok 17499 SourceCodeFixer applyFixes() with no BOM Text Replacement should replace text in the middle of the code
> ok 17500 SourceCodeFixer applyFixes() with no BOM Text Replacement should replace text at the beginning and end of the code
> ok 17501 SourceCodeFixer applyFixes() with no BOM Text Removal should remove text at the start of the code
> ok 17502 SourceCodeFixer applyFixes() with no BOM Text Removal should remove text in the middle of the code
> ok 17503 SourceCodeFixer applyFixes() with no BOM Text Removal should remove text towards the end of the code
> ok 17504 SourceCodeFixer applyFixes() with no BOM Text Removal should remove text at the beginning, middle, and end of the code
> ok 17505 SourceCodeFixer applyFixes() with no BOM Combination should replace text at the beginning, remove text in the middle, and insert text at the end
> ok 17506 SourceCodeFixer applyFixes() with no BOM Combination should only apply one fix when ranges overlap
> ok 17507 SourceCodeFixer applyFixes() with no BOM Combination should apply one fix when the end of one range is the same as the start of a previous range overlap
> ok 17508 SourceCodeFixer applyFixes() with no BOM Combination should only apply one fix when ranges overlap and one message has no fix
> ok 17509 SourceCodeFixer applyFixes() with no BOM Combination should apply the same fix when ranges overlap regardless of order
> ok 17510 SourceCodeFixer applyFixes() with no BOM No Fixes should only apply one fix when ranges overlap and one message has no fix
> ok 17511 SourceCodeFixer applyFixes() with no BOM No Fixes should sort the no fix messages correctly
> ok 17512 SourceCodeFixer applyFixes() with no BOM BOM manipulations should insert BOM with an insertion of '' at 0
> ok 17513 SourceCodeFixer applyFixes() with no BOM BOM manipulations should insert BOM with an insertion of 'foobar' at 0
> ok 17514 SourceCodeFixer applyFixes() with no BOM BOM manipulations should remove BOM with a negative range
> ok 17515 SourceCodeFixer applyFixes() with no BOM BOM manipulations should replace BOM with a negative range and 'foobar'
> ok 17516 SourceCodeFixer applyFixes() with BOM Text Insertion should insert text at the end of the code
> ok 17517 SourceCodeFixer applyFixes() with BOM Text Insertion should insert text at the beginning of the code
> ok 17518 SourceCodeFixer applyFixes() with BOM Text Insertion should insert text in the middle of the code
> ok 17519 SourceCodeFixer applyFixes() with BOM Text Insertion should insert text at the beginning, middle, and end of the code
> ok 17520 SourceCodeFixer applyFixes() with BOM Text Insertion should ignore reversed ranges
> ok 17521 SourceCodeFixer applyFixes() with BOM Text Replacement should replace text at the end of the code
> ok 17522 SourceCodeFixer applyFixes() with BOM Text Replacement should replace text at the beginning of the code
> ok 17523 SourceCodeFixer applyFixes() with BOM Text Replacement should replace text in the middle of the code
> ok 17524 SourceCodeFixer applyFixes() with BOM Text Replacement should replace text at the beginning and end of the code
> ok 17525 SourceCodeFixer applyFixes() with BOM Text Removal should remove text at the start of the code
> ok 17526 SourceCodeFixer applyFixes() with BOM Text Removal should remove text in the middle of the code
> ok 17527 SourceCodeFixer applyFixes() with BOM Text Removal should remove text towards the end of the code
> ok 17528 SourceCodeFixer applyFixes() with BOM Text Removal should remove text at the beginning, middle, and end of the code
> ok 17529 SourceCodeFixer applyFixes() with BOM Combination should replace text at the beginning, remove text in the middle, and insert text at the end
> ok 17530 SourceCodeFixer applyFixes() with BOM Combination should only apply one fix when ranges overlap
> ok 17531 SourceCodeFixer applyFixes() with BOM Combination should apply one fix when the end of one range is the same as the start of a previous range overlap
> ok 17532 SourceCodeFixer applyFixes() with BOM Combination should only apply one fix when ranges overlap and one message has no fix
> ok 17533 SourceCodeFixer applyFixes() with BOM Combination should apply the same fix when ranges overlap regardless of order
> ok 17534 SourceCodeFixer applyFixes() with BOM No Fixes should only apply one fix when ranges overlap and one message has no fix
> ok 17535 SourceCodeFixer applyFixes() with BOM BOM manipulations should insert BOM with an insertion of '' at 0
> ok 17536 SourceCodeFixer applyFixes() with BOM BOM manipulations should insert BOM with an insertion of 'foobar' at 0
> ok 17537 SourceCodeFixer applyFixes() with BOM BOM manipulations should remove BOM with a negative range
> ok 17538 SourceCodeFixer applyFixes() with BOM BOM manipulations should replace BOM with a negative range and 'foobar'
> ok 17539 Traverser traverses all keys except 'parent', 'leadingComments', and 'trailingComments'
> ok 17540 Traverser traverses AST as using 'visitorKeys' option if given
> # tests 17540
> # pass 17539
> # fail 1
> 1..17540
> make[1]: *** [debian/rules:95: override_dh_auto_test] Error 1

The full build log is available from:
   http://qa-logs.debian.net/2021/01/20/eslint_5.16.0~dfsg+~4.16.8-4_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with me
so that we can identify if something relevant changed in the meantime.

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the Pkg-javascript-devel mailing list