Version 2.8.0-dev.20.0
Merge commit 'eea97179386a9ced7d68452cea158345f4019baa' into dev
diff --git a/DEPS b/DEPS
index 23f27fd..c8cbb91 100644
--- a/DEPS
+++ b/DEPS
@@ -118,7 +118,7 @@
"ply_rev": "604b32590ffad5cbb82e4afef1d305512d06ae93",
"pool_tag": "1.3.6",
"protobuf_rev": "3746c8fd3f2b0147623a8e3db89c3ff4330de760",
- "pub_rev": "5802dd3407cae29372060934249432077aff1ec6",
+ "pub_rev": "978cc9c4be7d8978348e56d4ae82be8257a59579",
"pub_semver_tag": "v1.4.4",
"quiver-dart_tag": "2.0.0+1",
"resource_rev": "f8e37558a1c4f54550aa463b88a6a831e3e33cd6",
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
index 3d9bf08..8a75f87 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
@@ -4439,6 +4439,7 @@
// postfix operator to assert the expression has a non-null value.
TokenType nextType = token.next.type;
if (identical(nextType, TokenType.PERIOD) ||
+ identical(nextType, TokenType.QUESTION) ||
identical(nextType, TokenType.OPEN_PAREN) ||
identical(nextType, TokenType.OPEN_SQUARE_BRACKET) ||
identical(nextType, TokenType.QUESTION_PERIOD) ||
diff --git a/pkg/analysis_server/lib/src/edit/nnbd_migration/info_builder.dart b/pkg/analysis_server/lib/src/edit/nnbd_migration/info_builder.dart
index f72a585..a4a89b4 100644
--- a/pkg/analysis_server/lib/src/edit/nnbd_migration/info_builder.dart
+++ b/pkg/analysis_server/lib/src/edit/nnbd_migration/info_builder.dart
@@ -120,6 +120,11 @@
return edges;
}
+ void _addSimpleTrace(SimpleFixReasonInfo info, List<TraceInfo> traces) {
+ traces.add(TraceInfo(
+ 'Reason', [_makeTraceEntry(info.description, info.codeReference)]));
+ }
+
/// Return detail text for a fix built from an edge with origin info [origin]
/// and [fixKind].
///
@@ -428,6 +433,8 @@
assert(false, description);
details.add(RegionDetail(description, null));
}
+ } else if (reason is SimpleFixReasonInfo) {
+ details.add(RegionDetail(reason.description, null));
} else {
throw UnimplementedError(
'Unexpected class of reason: ${reason.runtimeType}');
@@ -549,6 +556,8 @@
assert(!reason.destinationNode.isNullable);
_computeTraceNullableInfo(reason.sourceNode, traces);
_computeTraceNonNullableInfo(reason.destinationNode, traces);
+ } else if (reason is SimpleFixReasonInfo) {
+ _addSimpleTrace(reason, traces);
} else {
assert(false, 'Unrecognized reason type: ${reason.runtimeType}');
}
diff --git a/pkg/analysis_server/test/src/edit/nnbd_migration/info_builder_test.dart b/pkg/analysis_server/test/src/edit/nnbd_migration/info_builder_test.dart
index c3cb90f..59e080b 100644
--- a/pkg/analysis_server/test/src/edit/nnbd_migration/info_builder_test.dart
+++ b/pkg/analysis_server/test/src/edit/nnbd_migration/info_builder_test.dart
@@ -1927,6 +1927,23 @@
expect(entries[4].target, null);
}
+ Future<void> test_trace_nullCheckHint() async {
+ UnitInfo unit = await buildInfoForSingleTestFile(
+ 'int f(int/*?*/ i) => i/*!*/;',
+ migratedContent: 'int f(int?/*?*/ i) => i!/*!*/;');
+ var region = unit.regions
+ .where(
+ (regionInfo) => regionInfo.offset == unit.content.indexOf('!/*!*/'))
+ .single;
+ expect(region.traces, hasLength(1));
+ var trace = region.traces.single;
+ expect(trace.description, 'Reason');
+ expect(trace.entries, hasLength(1));
+ // TODO(paulberry): -2 is a bug.
+ assertTraceEntry(unit, trace.entries.single, 'f',
+ unit.content.indexOf('i!/*!*/') - 2, 'Null check hint');
+ }
+
Future<void> test_trace_substitutionNode() async {
var unit = await buildInfoForSingleTestFile('''
class C<T extends Object/*!*/> {}
diff --git a/pkg/analyzer/lib/dart/ast/ast.dart b/pkg/analyzer/lib/dart/ast/ast.dart
index 83e9d9c..a97a7b5 100644
--- a/pkg/analyzer/lib/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/dart/ast/ast.dart
@@ -33,7 +33,6 @@
/// the elements that they refer to and every expression in the AST will have a
/// type associated with it.
import 'package:analyzer/dart/analysis/features.dart';
-import 'package:analyzer/dart/ast/language_version.dart';
import 'package:analyzer/dart/ast/precedence.dart';
import 'package:analyzer/dart/ast/syntactic_entity.dart';
import 'package:analyzer/dart/ast/token.dart';
@@ -1237,9 +1236,6 @@
/// resynthesized from a summary.
FeatureSet get featureSet;
- @Deprecated("Use languageVersionToken")
- LanguageVersion get languageVersion;
-
/// The language version override specified for this compilation unit using a
/// token like '// @dart = 2.7', or `null` if no override is specified.
LanguageVersionToken get languageVersionToken;
diff --git a/pkg/analyzer/lib/dart/ast/language_version.dart b/pkg/analyzer/lib/dart/ast/language_version.dart
deleted file mode 100644
index 07cbb0f..0000000
--- a/pkg/analyzer/lib/dart/ast/language_version.dart
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-/// The language version override specified for a compilation unit.
-@Deprecated("Use unit.languageVersionToken instead")
-class LanguageVersion {
- final int major;
- final int minor;
-
- LanguageVersion(this.major, this.minor);
-
- @override
- int get hashCode => major.hashCode * 13 + minor.hashCode * 17;
-
- @override
- bool operator ==(Object other) {
- if (identical(other, this)) {
- return true;
- }
-
- return other is LanguageVersion &&
- other.major == major &&
- other.minor == minor;
- }
-
- @override
- String toString() {
- return 'LanguageVersion(major=$major,minor=$minor)';
- }
-}
diff --git a/pkg/analyzer/lib/src/dart/ast/ast.dart b/pkg/analyzer/lib/src/dart/ast/ast.dart
index 85a3e57..8c31220 100644
--- a/pkg/analyzer/lib/src/dart/ast/ast.dart
+++ b/pkg/analyzer/lib/src/dart/ast/ast.dart
@@ -7,7 +7,6 @@
import 'package:analyzer/dart/analysis/features.dart';
import 'package:analyzer/dart/ast/ast.dart';
-import 'package:analyzer/dart/ast/language_version.dart';
import 'package:analyzer/dart/ast/precedence.dart';
import 'package:analyzer/dart/ast/syntactic_entity.dart';
import 'package:analyzer/dart/ast/token.dart';
@@ -2032,12 +2031,6 @@
int languageVersionMinor;
@override
- LanguageVersion get languageVersion {
- final token = languageVersionToken;
- return LanguageVersion(token.major, token.minor);
- }
-
- @override
LanguageVersionToken get languageVersionToken {
CommentToken comment = beginToken.precedingComments;
while (comment != null) {
diff --git a/pkg/dartdev/lib/src/commands/pub.dart b/pkg/dartdev/lib/src/commands/pub.dart
index d7970bc..2d983df 100644
--- a/pkg/dartdev/lib/src/commands/pub.dart
+++ b/pkg/dartdev/lib/src/commands/pub.dart
@@ -30,8 +30,12 @@
// and we want to guarantee that the result (the help text for the console)
// is printed before command exits.
final result = Process.runSync(command, args);
- stderr.write(result.stderr);
- stdout.write(result.stdout);
+ if (result.stderr.isNotEmpty) {
+ stderr.write(result.stderr);
+ }
+ if (result.stdout.isNotEmpty) {
+ stdout.write(result.stdout);
+ }
}
@override
diff --git a/pkg/dartdev/lib/src/commands/run.dart b/pkg/dartdev/lib/src/commands/run.dart
index b4e202e..c7089b1 100644
--- a/pkg/dartdev/lib/src/commands/run.dart
+++ b/pkg/dartdev/lib/src/commands/run.dart
@@ -14,10 +14,7 @@
final ArgParser argParser = ArgParser.allowAnything();
RunCommand({bool verbose = false}) : super('run', '''
-Run a Dart app or package.
-
-dart run <file path> run the specified Dart file
-dart run package:foo run the Dart file specified by some <package>:<executable>''');
+Run a Dart file.''');
@override
String get invocation => '${super.invocation} <dart file | package target>';
@@ -37,8 +34,12 @@
// and we want to guarantee that the result (the help text for the console)
// is printed before command exits.
final result = Process.runSync(command, args);
- stderr.write(result.stderr);
- stdout.write(result.stdout);
+ if (result.stderr.isNotEmpty) {
+ stderr.write(result.stderr);
+ }
+ if (result.stdout.isNotEmpty) {
+ stdout.write(result.stdout);
+ }
}
@override
@@ -46,9 +47,6 @@
// the command line arguments after 'run'
final args = argResults.arguments;
- // TODO(jwren) Implement support for pubspec executables, see
- // https://dart.dev/tools/pub/pubspec#executables
-
// Starting in ProcessStartMode.inheritStdio mode means the child process
// can detect support for ansi chars.
var process = await Process.start(sdk.dart, args,
diff --git a/pkg/dartdev/test/commands/migrate_test.dart b/pkg/dartdev/test/commands/migrate_test.dart
index a3b0c79..1294f88 100644
--- a/pkg/dartdev/test/commands/migrate_test.dart
+++ b/pkg/dartdev/test/commands/migrate_test.dart
@@ -7,15 +7,17 @@
import '../utils.dart';
-// TODO(jcollins-g): Set to true and/or remove when when NNBD is enabled in the
-// SDK running this test.
-bool _nnbdIsEnabled = false;
-
void main() {
group('migrate', defineMigrateTests);
}
+// TODO(jcollins-g): Set to true and/or remove when when NNBD is enabled in the
+// SDK running this test.
+bool _nnbdIsEnabled = false;
+
void defineMigrateTests() {
+ final didYouForgetToRunPubGet = contains('Did you forget to run "pub get"?');
+
TestProject p;
tearDown(() => p?.dispose());
@@ -67,4 +69,22 @@
contains('not found; please provide a path to a package or directory'));
expect(result.stdout, isEmpty);
});
+
+ test('pub get needs running', () {
+ p = project(mainSrc: 'import "package:foo/foo.dart";\n');
+ var result = p.runSync('migrate',
+ ['--server-path=${p.absolutePathToAnalysisServerFile}', p.dirPath]);
+ expect(result.exitCode, 1);
+ expect(result.stderr, isEmpty);
+ expect(result.stdout, didYouForgetToRunPubGet);
+ });
+
+ test('non-pub-related error', () {
+ p = project(mainSrc: 'var missing = "semicolon"\n');
+ var result = p.runSync('migrate',
+ ['--server-path=${p.absolutePathToAnalysisServerFile}', p.dirPath]);
+ expect(result.exitCode, 1);
+ expect(result.stderr, isEmpty);
+ expect(result.stdout, isNot(didYouForgetToRunPubGet));
+ });
}
diff --git a/pkg/dartfix/lib/src/migrate/migrate.dart b/pkg/dartfix/lib/src/migrate/migrate.dart
index f833994..ceddcce 100644
--- a/pkg/dartfix/lib/src/migrate/migrate.dart
+++ b/pkg/dartfix/lib/src/migrate/migrate.dart
@@ -11,19 +11,39 @@
import 'package:analysis_server_client/server.dart';
import 'package:args/command_runner.dart';
import 'package:cli_util/cli_logging.dart';
-import 'package:path/path.dart' as path;
import 'package:nnbd_migration/src/messages.dart';
+import 'package:path/path.dart' as path;
import '../util.dart';
import 'apply.dart';
import 'display.dart';
import 'options.dart';
-typedef LogProvider = Logger Function();
+String get _dartSdkVersion {
+ String version = Platform.version;
+
+ // Remove the build date and OS.
+ if (version.contains(' ')) {
+ version = version.substring(0, version.indexOf(' '));
+ }
+
+ // Convert a git hash to 8 chars.
+ // '2.8.0-edge.fd992e423ef69ece9f44bd3ac58fa2355b563212'
+ final RegExp versionRegExp = RegExp(r'^.*\.([0123456789abcdef]+)$');
+ RegExpMatch match = versionRegExp.firstMatch(version);
+ if (match != null && match.group(1).length == 40) {
+ String commit = match.group(1);
+ version = version.replaceAll(commit, commit.substring(0, 10));
+ }
+
+ return version;
+}
// TODO(devoncarew): Over time, we should look to share code with the
// implementation here and that in lib/src/driver.dart.
+typedef LogProvider = Logger Function();
+
/// Perform null safety related migrations on the user's code.
class MigrateCommand extends Command {
final LogProvider logProvider;
@@ -31,8 +51,9 @@
@override
final bool hidden;
- @override
- String get name => 'migrate';
+ MigrateCommand({this.logProvider, this.hidden = false}) {
+ MigrateOptions.defineOptions(argParser);
+ }
@override
String get description =>
@@ -43,9 +64,8 @@
return '${super.invocation} [project or directory]';
}
- MigrateCommand({this.logProvider, this.hidden = false}) {
- MigrateOptions.defineOptions(argParser);
- }
+ @override
+ String get name => 'migrate';
@override
Future<int> run() async {
@@ -138,12 +158,14 @@
fileErrors.values.map((list) => list.length).reduce((a, b) => a + b);
logger.stdout(
'$issueCount analysis ${pluralize('issue', issueCount)} found:');
+ List<AnalysisError> allErrors = fileErrors.values
+ .fold(<AnalysisError>[], (list, element) => list..addAll(element));
_displayIssues(
logger,
options.directory,
- fileErrors.values
- .fold(<AnalysisError>[], (list, element) => list..addAll(element)),
+ allErrors,
);
+ var importErrorCount = allErrors.where(_isUriError).length;
logger.stdout('');
logger.stdout(
@@ -152,9 +174,14 @@
if (options.ignoreErrors) {
logger.stdout('Continuing with migration suggestions due to the use of '
'--${MigrateOptions.ignoreErrorsOption}.');
- } else if (!options.ignoreErrors) {
+ } else {
// Fail with how to continue.
logger.stdout('');
+ if (importErrorCount != 0) {
+ logger.stdout(
+ 'Unresolved URIs found. Did you forget to run "pub get"?');
+ logger.stdout('');
+ }
logger.stdout(
'Please fix the analysis issues (or, force generation of migration '
'suggestions by re-running with '
@@ -250,54 +277,41 @@
return 0;
}
- /// Parse and validate the user's options; throw a UsageException if there are
- /// issues, and return an [MigrateOptions] result otherwise.
- MigrateOptions _parseAndValidateOptions() {
- String dirPath;
-
- if (argResults.rest.isNotEmpty) {
- if (argResults.rest.length == 1) {
- dirPath = argResults.rest.first;
-
- if (FileSystemEntity.isFileSync(dirPath)) {
- // Calling this will throw an exception.
- usageException(
- 'Please provide a path to a package or directory to migrate.');
- } else if (!FileSystemEntity.isDirectorySync(dirPath)) {
- // Calling this will throw an exception.
- usageException("'$dirPath' not found; "
- 'please provide a path to a package or directory to migrate.');
- }
- } else {
- // Calling this will throw an exception.
- usageException(
- 'Please provide a path to a package or directory to migrate.');
- }
- } else {
- dirPath = Directory.current.path;
- }
-
- return MigrateOptions(argResults, dirPath);
- }
-
- void _displayIssues(
+ void _applyMigrationSuggestions(
Logger logger,
String directory,
- List<AnalysisError> issues,
+ EditDartfixResult migrationResults,
) {
- issues.sort((AnalysisError one, AnalysisError two) {
- if (one.location.file != two.location.file) {
- return one.location.file.compareTo(two.location.file);
- }
- return one.location.offset - two.location.offset;
- });
+ // Apply the changes to disk.
+ for (SourceFileEdit sourceFileEdit in migrationResults.edits) {
+ String relPath = path.relative(sourceFileEdit.file, from: directory);
+ int count = sourceFileEdit.edits.length;
+ logger.stdout(' $relPath ($count ${pluralize('change', count)})');
- IssueRenderer renderer = IssueRenderer(logger, directory);
- for (AnalysisError issue in issues) {
- renderer.render(issue);
+ String source;
+ try {
+ source = File(sourceFileEdit.file).readAsStringSync();
+ } catch (_) {}
+
+ if (source == null) {
+ logger.stdout(' Unable to retrieve source for file.');
+ } else {
+ source = applyEdits(sourceFileEdit, source);
+
+ try {
+ File(sourceFileEdit.file).writeAsStringSync(source);
+ } catch (e) {
+ logger.stdout(' Unable to write source for file: $e');
+ }
+ }
}
}
+ Future _blockUntilSignalInterrupt() {
+ Stream<ProcessSignal> stream = ProcessSignal.sigint.watch();
+ return stream.first;
+ }
+
void _displayChangeSummary(
Logger logger,
String directory,
@@ -346,39 +360,65 @@
}
}
- void _applyMigrationSuggestions(
+ void _displayIssues(
Logger logger,
String directory,
- EditDartfixResult migrationResults,
+ List<AnalysisError> issues,
) {
- // Apply the changes to disk.
- for (SourceFileEdit sourceFileEdit in migrationResults.edits) {
- String relPath = path.relative(sourceFileEdit.file, from: directory);
- int count = sourceFileEdit.edits.length;
- logger.stdout(' $relPath ($count ${pluralize('change', count)})');
-
- String source;
- try {
- source = File(sourceFileEdit.file).readAsStringSync();
- } catch (_) {}
-
- if (source == null) {
- logger.stdout(' Unable to retrieve source for file.');
- } else {
- source = applyEdits(sourceFileEdit, source);
-
- try {
- File(sourceFileEdit.file).writeAsStringSync(source);
- } catch (e) {
- logger.stdout(' Unable to write source for file: $e');
- }
+ issues.sort((AnalysisError one, AnalysisError two) {
+ if (one.location.file != two.location.file) {
+ return one.location.file.compareTo(two.location.file);
}
+ return one.location.offset - two.location.offset;
+ });
+
+ IssueRenderer renderer = IssueRenderer(logger, directory);
+ for (AnalysisError issue in issues) {
+ renderer.render(issue);
}
}
- Future _blockUntilSignalInterrupt() {
- Stream<ProcessSignal> stream = ProcessSignal.sigint.watch();
- return stream.first;
+ bool _isUriError(AnalysisError error) => error.code == 'uri_does_not_exist';
+
+ /// Parse and validate the user's options; throw a UsageException if there are
+ /// issues, and return an [MigrateOptions] result otherwise.
+ MigrateOptions _parseAndValidateOptions() {
+ String dirPath;
+
+ if (argResults.rest.isNotEmpty) {
+ if (argResults.rest.length == 1) {
+ dirPath = argResults.rest.first;
+
+ if (FileSystemEntity.isFileSync(dirPath)) {
+ // Calling this will throw an exception.
+ usageException(
+ 'Please provide a path to a package or directory to migrate.');
+ } else if (!FileSystemEntity.isDirectorySync(dirPath)) {
+ // Calling this will throw an exception.
+ usageException("'$dirPath' not found; "
+ 'please provide a path to a package or directory to migrate.');
+ }
+ } else {
+ // Calling this will throw an exception.
+ usageException(
+ 'Please provide a path to a package or directory to migrate.');
+ }
+ } else {
+ dirPath = Directory.current.path;
+ }
+
+ return MigrateOptions(argResults, dirPath);
+ }
+}
+
+class _ServerListener with ServerListener {
+ final Logger logger;
+
+ _ServerListener(this.logger);
+
+ @override
+ void log(String prefix, String details) {
+ logger.trace('[$prefix] $details');
}
}
@@ -393,26 +433,9 @@
_ServerNotifications(this.server);
- Stream<ServerStatusParams> get serverStatusEvents =>
- _serverStatusController.stream;
-
Stream<AnalysisErrorsParams> get analysisErrorsEvents =>
_analysisErrorsController.stream;
- Future listenToServer(Server server) async {
- server.listenToOutput(notificationProcessor: handleEvent);
-
- await server.send(SERVER_REQUEST_SET_SUBSCRIPTIONS,
- ServerSetSubscriptionsParams([ServerService.STATUS]).toJson());
- }
-
- @override
- void onServerStatus(ServerStatusParams event) {
- if (event.analysis != null) {
- _serverStatusController.add(event);
- }
- }
-
Future get onNextAnalysisComplete {
Completer completer = Completer();
@@ -427,6 +450,16 @@
return completer.future;
}
+ Stream<ServerStatusParams> get serverStatusEvents =>
+ _serverStatusController.stream;
+
+ Future listenToServer(Server server) async {
+ server.listenToOutput(notificationProcessor: handleEvent);
+
+ await server.send(SERVER_REQUEST_SET_SUBSCRIPTIONS,
+ ServerSetSubscriptionsParams([ServerService.STATUS]).toJson());
+ }
+
@override
void onAnalysisErrors(AnalysisErrorsParams event) {
_analysisErrorsController.add(event);
@@ -443,35 +476,11 @@
}
}
}
-}
-
-class _ServerListener with ServerListener {
- final Logger logger;
-
- _ServerListener(this.logger);
@override
- void log(String prefix, String details) {
- logger.trace('[$prefix] $details');
+ void onServerStatus(ServerStatusParams event) {
+ if (event.analysis != null) {
+ _serverStatusController.add(event);
+ }
}
}
-
-String get _dartSdkVersion {
- String version = Platform.version;
-
- // Remove the build date and OS.
- if (version.contains(' ')) {
- version = version.substring(0, version.indexOf(' '));
- }
-
- // Convert a git hash to 8 chars.
- // '2.8.0-edge.fd992e423ef69ece9f44bd3ac58fa2355b563212'
- final RegExp versionRegExp = RegExp(r'^.*\.([0123456789abcdef]+)$');
- RegExpMatch match = versionRegExp.firstMatch(version);
- if (match != null && match.group(1).length == 40) {
- String commit = match.group(1);
- version = version.replaceAll(commit, commit.substring(0, 10));
- }
-
- return version;
-}
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_41177.dart b/pkg/front_end/parser_testcases/nnbd/issue_41177.dart
new file mode 100644
index 0000000..b95e186
--- /dev/null
+++ b/pkg/front_end/parser_testcases/nnbd/issue_41177.dart
@@ -0,0 +1,8 @@
+main(List<int>? a, bool? b) {
+ a![0];
+ a?[0];
+ a!?[0];
+ (a!)?[0];
+ b!?[0]:0;
+ (b!)?[0]:0;
+}
\ No newline at end of file
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_41177.dart.expect b/pkg/front_end/parser_testcases/nnbd/issue_41177.dart.expect
new file mode 100644
index 0000000..a5578c5
--- /dev/null
+++ b/pkg/front_end/parser_testcases/nnbd/issue_41177.dart.expect
@@ -0,0 +1,97 @@
+beginCompilationUnit(main)
+ beginMetadataStar(main)
+ endMetadataStar(0)
+ beginTopLevelMember(main)
+ beginTopLevelMethod(, null)
+ handleNoType()
+ handleIdentifier(main, topLevelFunctionDeclaration)
+ handleNoTypeVariables(()
+ beginFormalParameters((, MemberKind.TopLevelMethod)
+ beginMetadataStar(List)
+ endMetadataStar(0)
+ beginFormalParameter(List, MemberKind.TopLevelMethod, null, null, null)
+ handleIdentifier(List, typeReference)
+ beginTypeArguments(<)
+ handleIdentifier(int, typeReference)
+ handleNoTypeArguments(>)
+ handleType(int, null)
+ endTypeArguments(1, <, >)
+ handleType(List, ?)
+ handleIdentifier(a, formalParameterDeclaration)
+ handleFormalParameterWithoutValue(,)
+ endFormalParameter(null, null, a, null, null, FormalParameterKind.mandatory, MemberKind.TopLevelMethod)
+ beginMetadataStar(bool)
+ endMetadataStar(0)
+ beginFormalParameter(bool, MemberKind.TopLevelMethod, null, null, null)
+ handleIdentifier(bool, typeReference)
+ handleNoTypeArguments(?)
+ handleType(bool, ?)
+ handleIdentifier(b, formalParameterDeclaration)
+ handleFormalParameterWithoutValue())
+ endFormalParameter(null, null, b, null, null, FormalParameterKind.mandatory, MemberKind.TopLevelMethod)
+ endFormalParameters(2, (, ), MemberKind.TopLevelMethod)
+ handleAsyncModifier(null, null)
+ beginBlockFunctionBody({)
+ handleIdentifier(a, expression)
+ handleNoTypeArguments(!)
+ handleNoArguments(!)
+ handleSend(a, !)
+ handleNonNullAssertExpression(!)
+ handleLiteralInt(0)
+ handleIndexedExpression(null, [, ])
+ handleExpressionStatement(;)
+ handleIdentifier(a, expression)
+ handleNoTypeArguments(?)
+ handleNoArguments(?)
+ handleSend(a, ?)
+ handleLiteralInt(0)
+ handleIndexedExpression(?, [, ])
+ handleExpressionStatement(;)
+ handleIdentifier(a, expression)
+ handleNoTypeArguments(!)
+ handleNoArguments(!)
+ handleSend(a, !)
+ handleNonNullAssertExpression(!)
+ handleLiteralInt(0)
+ handleIndexedExpression(?, [, ])
+ handleExpressionStatement(;)
+ handleIdentifier(a, expression)
+ handleNoTypeArguments(!)
+ handleNoArguments(!)
+ handleSend(a, !)
+ handleNonNullAssertExpression(!)
+ handleParenthesizedExpression(()
+ handleLiteralInt(0)
+ handleIndexedExpression(?, [, ])
+ handleExpressionStatement(;)
+ handleIdentifier(b, expression)
+ handleNoTypeArguments(!)
+ handleNoArguments(!)
+ handleSend(b, !)
+ handleNonNullAssertExpression(!)
+ beginConditionalExpression(?)
+ handleNoTypeArguments([)
+ handleLiteralInt(0)
+ handleLiteralList(1, [, null, ])
+ handleConditionalExpressionColon()
+ handleLiteralInt(0)
+ endConditionalExpression(?, :)
+ handleExpressionStatement(;)
+ handleIdentifier(b, expression)
+ handleNoTypeArguments(!)
+ handleNoArguments(!)
+ handleSend(b, !)
+ handleNonNullAssertExpression(!)
+ handleParenthesizedExpression(()
+ beginConditionalExpression(?)
+ handleNoTypeArguments([)
+ handleLiteralInt(0)
+ handleLiteralList(1, [, null, ])
+ handleConditionalExpressionColon()
+ handleLiteralInt(0)
+ endConditionalExpression(?, :)
+ handleExpressionStatement(;)
+ endBlockFunctionBody(6, {, })
+ endTopLevelMethod(main, null, })
+ endTopLevelDeclaration()
+endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_41177.dart.intertwined.expect b/pkg/front_end/parser_testcases/nnbd/issue_41177.dart.intertwined.expect
new file mode 100644
index 0000000..963485a
--- /dev/null
+++ b/pkg/front_end/parser_testcases/nnbd/issue_41177.dart.intertwined.expect
@@ -0,0 +1,353 @@
+parseUnit(main)
+ skipErrorTokens(main)
+ listener: beginCompilationUnit(main)
+ syntheticPreviousToken(main)
+ parseTopLevelDeclarationImpl(, Instance of 'DirectiveContext')
+ parseMetadataStar()
+ listener: beginMetadataStar(main)
+ listener: endMetadataStar(0)
+ parseTopLevelMemberImpl()
+ listener: beginTopLevelMember(main)
+ parseTopLevelMethod(, null, , Instance of 'NoType', null, main)
+ listener: beginTopLevelMethod(, null)
+ listener: handleNoType()
+ ensureIdentifier(, topLevelFunctionDeclaration)
+ listener: handleIdentifier(main, topLevelFunctionDeclaration)
+ parseMethodTypeVar(main)
+ listener: handleNoTypeVariables(()
+ parseGetterOrFormalParameters(main, main, false, MemberKind.TopLevelMethod)
+ parseFormalParameters(main, MemberKind.TopLevelMethod)
+ parseFormalParametersRest((, MemberKind.TopLevelMethod)
+ listener: beginFormalParameters((, MemberKind.TopLevelMethod)
+ parseFormalParameter((, FormalParameterKind.mandatory, MemberKind.TopLevelMethod)
+ parseMetadataStar(()
+ listener: beginMetadataStar(List)
+ listener: endMetadataStar(0)
+ listener: beginFormalParameter(List, MemberKind.TopLevelMethod, null, null, null)
+ listener: handleIdentifier(List, typeReference)
+ listener: beginTypeArguments(<)
+ listener: handleIdentifier(int, typeReference)
+ listener: handleNoTypeArguments(>)
+ listener: handleType(int, null)
+ listener: endTypeArguments(1, <, >)
+ listener: handleType(List, ?)
+ ensureIdentifier(?, formalParameterDeclaration)
+ listener: handleIdentifier(a, formalParameterDeclaration)
+ listener: handleFormalParameterWithoutValue(,)
+ listener: endFormalParameter(null, null, a, null, null, FormalParameterKind.mandatory, MemberKind.TopLevelMethod)
+ parseFormalParameter(,, FormalParameterKind.mandatory, MemberKind.TopLevelMethod)
+ parseMetadataStar(,)
+ listener: beginMetadataStar(bool)
+ listener: endMetadataStar(0)
+ listener: beginFormalParameter(bool, MemberKind.TopLevelMethod, null, null, null)
+ listener: handleIdentifier(bool, typeReference)
+ listener: handleNoTypeArguments(?)
+ listener: handleType(bool, ?)
+ ensureIdentifier(?, formalParameterDeclaration)
+ listener: handleIdentifier(b, formalParameterDeclaration)
+ listener: handleFormalParameterWithoutValue())
+ listener: endFormalParameter(null, null, b, null, null, FormalParameterKind.mandatory, MemberKind.TopLevelMethod)
+ listener: endFormalParameters(2, (, ), MemberKind.TopLevelMethod)
+ parseAsyncModifierOpt())
+ listener: handleAsyncModifier(null, null)
+ inPlainSync()
+ parseFunctionBody(), false, false)
+ listener: beginBlockFunctionBody({)
+ notEofOrValue(}, a)
+ parseStatement({)
+ parseStatementX({)
+ parseExpressionStatementOrDeclarationAfterModifiers({, {, null, null, null, false)
+ looksLikeLocalFunction(a)
+ parseExpressionStatement({)
+ parseExpression({)
+ parsePrecedenceExpression({, 1, true)
+ parseUnaryExpression({, true)
+ parsePrimary({, expression)
+ parseSendOrFunctionLiteral({, expression)
+ parseSend({, expression)
+ ensureIdentifier({, expression)
+ listener: handleIdentifier(a, expression)
+ listener: handleNoTypeArguments(!)
+ parseArgumentsOpt(a)
+ listener: handleNoArguments(!)
+ listener: handleSend(a, !)
+ listener: handleNonNullAssertExpression(!)
+ parseArgumentOrIndexStar(!, Instance of 'NoTypeParamOrArg', false)
+ parseExpression([)
+ parsePrecedenceExpression([, 1, true)
+ parseUnaryExpression([, true)
+ parsePrimary([, expression)
+ parseLiteralInt([)
+ listener: handleLiteralInt(0)
+ listener: handleIndexedExpression(null, [, ])
+ ensureSemicolon(])
+ listener: handleExpressionStatement(;)
+ notEofOrValue(}, a)
+ parseStatement(;)
+ parseStatementX(;)
+ parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, false)
+ looksLikeLocalFunction(a)
+ parseExpressionStatement(;)
+ parseExpression(;)
+ parsePrecedenceExpression(;, 1, true)
+ parseUnaryExpression(;, true)
+ parsePrimary(;, expression)
+ parseSendOrFunctionLiteral(;, expression)
+ parseSend(;, expression)
+ ensureIdentifier(;, expression)
+ listener: handleIdentifier(a, expression)
+ listener: handleNoTypeArguments(?)
+ parseArgumentsOpt(a)
+ listener: handleNoArguments(?)
+ listener: handleSend(a, ?)
+ canParseAsConditional(?)
+ parseExpressionWithoutCascade(?)
+ parsePrecedenceExpression(?, 1, false)
+ parseUnaryExpression(?, false)
+ parsePrimary(?, expression)
+ parseLiteralListSuffix(?, null)
+ parseExpression([)
+ parsePrecedenceExpression([, 1, true)
+ parseUnaryExpression([, true)
+ parsePrimary([, expression)
+ parseLiteralInt([)
+ parseArgumentOrIndexStar(a, Instance of 'NoTypeParamOrArg', true)
+ parseExpression([)
+ parsePrecedenceExpression([, 1, true)
+ parseUnaryExpression([, true)
+ parsePrimary([, expression)
+ parseLiteralInt([)
+ listener: handleLiteralInt(0)
+ listener: handleIndexedExpression(?, [, ])
+ ensureSemicolon(])
+ listener: handleExpressionStatement(;)
+ notEofOrValue(}, a)
+ parseStatement(;)
+ parseStatementX(;)
+ parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, false)
+ looksLikeLocalFunction(a)
+ parseExpressionStatement(;)
+ parseExpression(;)
+ parsePrecedenceExpression(;, 1, true)
+ parseUnaryExpression(;, true)
+ parsePrimary(;, expression)
+ parseSendOrFunctionLiteral(;, expression)
+ parseSend(;, expression)
+ ensureIdentifier(;, expression)
+ listener: handleIdentifier(a, expression)
+ listener: handleNoTypeArguments(!)
+ parseArgumentsOpt(a)
+ listener: handleNoArguments(!)
+ listener: handleSend(a, !)
+ listener: handleNonNullAssertExpression(!)
+ canParseAsConditional(?)
+ parseExpressionWithoutCascade(?)
+ parsePrecedenceExpression(?, 1, false)
+ parseUnaryExpression(?, false)
+ parsePrimary(?, expression)
+ parseLiteralListSuffix(?, null)
+ parseExpression([)
+ parsePrecedenceExpression([, 1, true)
+ parseUnaryExpression([, true)
+ parsePrimary([, expression)
+ parseLiteralInt([)
+ parseArgumentOrIndexStar(!, Instance of 'NoTypeParamOrArg', true)
+ parseExpression([)
+ parsePrecedenceExpression([, 1, true)
+ parseUnaryExpression([, true)
+ parsePrimary([, expression)
+ parseLiteralInt([)
+ listener: handleLiteralInt(0)
+ listener: handleIndexedExpression(?, [, ])
+ ensureSemicolon(])
+ listener: handleExpressionStatement(;)
+ notEofOrValue(}, ()
+ parseStatement(;)
+ parseStatementX(;)
+ parseExpressionStatementOrDeclaration(;, false)
+ parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, false)
+ looksLikeLocalFunction(()
+ parseExpressionStatement(;)
+ parseExpression(;)
+ parsePrecedenceExpression(;, 1, true)
+ parseUnaryExpression(;, true)
+ parsePrimary(;, expression)
+ parseParenthesizedExpressionOrFunctionLiteral(;)
+ parseParenthesizedExpression(;)
+ parseExpressionInParenthesis(;)
+ parseExpressionInParenthesisRest(()
+ parseExpression(()
+ parsePrecedenceExpression((, 1, true)
+ parseUnaryExpression((, true)
+ parsePrimary((, expression)
+ parseSendOrFunctionLiteral((, expression)
+ parseSend((, expression)
+ ensureIdentifier((, expression)
+ listener: handleIdentifier(a, expression)
+ listener: handleNoTypeArguments(!)
+ parseArgumentsOpt(a)
+ listener: handleNoArguments(!)
+ listener: handleSend(a, !)
+ listener: handleNonNullAssertExpression(!)
+ ensureCloseParen(!, ()
+ listener: handleParenthesizedExpression(()
+ canParseAsConditional(?)
+ parseExpressionWithoutCascade(?)
+ parsePrecedenceExpression(?, 1, false)
+ parseUnaryExpression(?, false)
+ parsePrimary(?, expression)
+ parseLiteralListSuffix(?, null)
+ parseExpression([)
+ parsePrecedenceExpression([, 1, true)
+ parseUnaryExpression([, true)
+ parsePrimary([, expression)
+ parseLiteralInt([)
+ parseArgumentOrIndexStar(), Instance of 'NoTypeParamOrArg', true)
+ parseExpression([)
+ parsePrecedenceExpression([, 1, true)
+ parseUnaryExpression([, true)
+ parsePrimary([, expression)
+ parseLiteralInt([)
+ listener: handleLiteralInt(0)
+ listener: handleIndexedExpression(?, [, ])
+ ensureSemicolon(])
+ listener: handleExpressionStatement(;)
+ notEofOrValue(}, b)
+ parseStatement(;)
+ parseStatementX(;)
+ parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, false)
+ looksLikeLocalFunction(b)
+ parseExpressionStatement(;)
+ parseExpression(;)
+ parsePrecedenceExpression(;, 1, true)
+ parseUnaryExpression(;, true)
+ parsePrimary(;, expression)
+ parseSendOrFunctionLiteral(;, expression)
+ parseSend(;, expression)
+ ensureIdentifier(;, expression)
+ listener: handleIdentifier(b, expression)
+ listener: handleNoTypeArguments(!)
+ parseArgumentsOpt(b)
+ listener: handleNoArguments(!)
+ listener: handleSend(b, !)
+ listener: handleNonNullAssertExpression(!)
+ canParseAsConditional(?)
+ parseExpressionWithoutCascade(?)
+ parsePrecedenceExpression(?, 1, false)
+ parseUnaryExpression(?, false)
+ parsePrimary(?, expression)
+ parseLiteralListSuffix(?, null)
+ parseExpression([)
+ parsePrecedenceExpression([, 1, true)
+ parseUnaryExpression([, true)
+ parsePrimary([, expression)
+ parseLiteralInt([)
+ parseExpressionWithoutCascade(:)
+ parsePrecedenceExpression(:, 1, false)
+ parseUnaryExpression(:, false)
+ parsePrimary(:, expression)
+ parseLiteralInt(:)
+ parseConditionalExpressionRest(!)
+ listener: beginConditionalExpression(?)
+ parseExpressionWithoutCascade(?)
+ parsePrecedenceExpression(?, 1, false)
+ parseUnaryExpression(?, false)
+ parsePrimary(?, expression)
+ listener: handleNoTypeArguments([)
+ parseLiteralListSuffix(?, null)
+ parseExpression([)
+ parsePrecedenceExpression([, 1, true)
+ parseUnaryExpression([, true)
+ parsePrimary([, expression)
+ parseLiteralInt([)
+ listener: handleLiteralInt(0)
+ listener: handleLiteralList(1, [, null, ])
+ ensureColon(])
+ listener: handleConditionalExpressionColon()
+ parseExpressionWithoutCascade(:)
+ parsePrecedenceExpression(:, 1, false)
+ parseUnaryExpression(:, false)
+ parsePrimary(:, expression)
+ parseLiteralInt(:)
+ listener: handleLiteralInt(0)
+ listener: endConditionalExpression(?, :)
+ ensureSemicolon(0)
+ listener: handleExpressionStatement(;)
+ notEofOrValue(}, ()
+ parseStatement(;)
+ parseStatementX(;)
+ parseExpressionStatementOrDeclaration(;, false)
+ parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, false)
+ looksLikeLocalFunction(()
+ parseExpressionStatement(;)
+ parseExpression(;)
+ parsePrecedenceExpression(;, 1, true)
+ parseUnaryExpression(;, true)
+ parsePrimary(;, expression)
+ parseParenthesizedExpressionOrFunctionLiteral(;)
+ parseParenthesizedExpression(;)
+ parseExpressionInParenthesis(;)
+ parseExpressionInParenthesisRest(()
+ parseExpression(()
+ parsePrecedenceExpression((, 1, true)
+ parseUnaryExpression((, true)
+ parsePrimary((, expression)
+ parseSendOrFunctionLiteral((, expression)
+ parseSend((, expression)
+ ensureIdentifier((, expression)
+ listener: handleIdentifier(b, expression)
+ listener: handleNoTypeArguments(!)
+ parseArgumentsOpt(b)
+ listener: handleNoArguments(!)
+ listener: handleSend(b, !)
+ listener: handleNonNullAssertExpression(!)
+ ensureCloseParen(!, ()
+ listener: handleParenthesizedExpression(()
+ canParseAsConditional(?)
+ parseExpressionWithoutCascade(?)
+ parsePrecedenceExpression(?, 1, false)
+ parseUnaryExpression(?, false)
+ parsePrimary(?, expression)
+ parseLiteralListSuffix(?, null)
+ parseExpression([)
+ parsePrecedenceExpression([, 1, true)
+ parseUnaryExpression([, true)
+ parsePrimary([, expression)
+ parseLiteralInt([)
+ parseExpressionWithoutCascade(:)
+ parsePrecedenceExpression(:, 1, false)
+ parseUnaryExpression(:, false)
+ parsePrimary(:, expression)
+ parseLiteralInt(:)
+ parseConditionalExpressionRest())
+ listener: beginConditionalExpression(?)
+ parseExpressionWithoutCascade(?)
+ parsePrecedenceExpression(?, 1, false)
+ parseUnaryExpression(?, false)
+ parsePrimary(?, expression)
+ listener: handleNoTypeArguments([)
+ parseLiteralListSuffix(?, null)
+ parseExpression([)
+ parsePrecedenceExpression([, 1, true)
+ parseUnaryExpression([, true)
+ parsePrimary([, expression)
+ parseLiteralInt([)
+ listener: handleLiteralInt(0)
+ listener: handleLiteralList(1, [, null, ])
+ ensureColon(])
+ listener: handleConditionalExpressionColon()
+ parseExpressionWithoutCascade(:)
+ parsePrecedenceExpression(:, 1, false)
+ parseUnaryExpression(:, false)
+ parsePrimary(:, expression)
+ parseLiteralInt(:)
+ listener: handleLiteralInt(0)
+ listener: endConditionalExpression(?, :)
+ ensureSemicolon(0)
+ listener: handleExpressionStatement(;)
+ notEofOrValue(}, })
+ listener: endBlockFunctionBody(6, {, })
+ listener: endTopLevelMethod(main, null, })
+ listener: endTopLevelDeclaration()
+ reportAllErrorTokens(main)
+ listener: endCompilationUnit(1, )
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_41177.dart.parser.expect b/pkg/front_end/parser_testcases/nnbd/issue_41177.dart.parser.expect
new file mode 100644
index 0000000..f7a0b53
--- /dev/null
+++ b/pkg/front_end/parser_testcases/nnbd/issue_41177.dart.parser.expect
@@ -0,0 +1,17 @@
+main(List<int>? a, bool? b) {
+a![0];
+a?[0];
+a!?[0];
+(a!)?[0];
+b!?[0]:0;
+(b!)?[0]:0;
+}
+
+main[StringToken]([BeginToken]List[StringToken]<[BeginToken]int[StringToken]>[SimpleToken]?[SimpleToken] a[StringToken],[SimpleToken] bool[StringToken]?[SimpleToken] b[StringToken])[SimpleToken] {[BeginToken]
+a[StringToken]![SimpleToken][[BeginToken]0[StringToken]][SimpleToken];[SimpleToken]
+a[StringToken]?[SimpleToken][[BeginToken]0[StringToken]][SimpleToken];[SimpleToken]
+a[StringToken]![SimpleToken]?[SimpleToken][[BeginToken]0[StringToken]][SimpleToken];[SimpleToken]
+([BeginToken]a[StringToken]![SimpleToken])[SimpleToken]?[SimpleToken][[BeginToken]0[StringToken]][SimpleToken];[SimpleToken]
+b[StringToken]![SimpleToken]?[SimpleToken][[BeginToken]0[StringToken]][SimpleToken]:[SimpleToken]0[StringToken];[SimpleToken]
+([BeginToken]b[StringToken]![SimpleToken])[SimpleToken]?[SimpleToken][[BeginToken]0[StringToken]][SimpleToken]:[SimpleToken]0[StringToken];[SimpleToken]
+}[SimpleToken][SimpleToken]
diff --git a/pkg/front_end/parser_testcases/nnbd/issue_41177.dart.scanner.expect b/pkg/front_end/parser_testcases/nnbd/issue_41177.dart.scanner.expect
new file mode 100644
index 0000000..f7a0b53
--- /dev/null
+++ b/pkg/front_end/parser_testcases/nnbd/issue_41177.dart.scanner.expect
@@ -0,0 +1,17 @@
+main(List<int>? a, bool? b) {
+a![0];
+a?[0];
+a!?[0];
+(a!)?[0];
+b!?[0]:0;
+(b!)?[0]:0;
+}
+
+main[StringToken]([BeginToken]List[StringToken]<[BeginToken]int[StringToken]>[SimpleToken]?[SimpleToken] a[StringToken],[SimpleToken] bool[StringToken]?[SimpleToken] b[StringToken])[SimpleToken] {[BeginToken]
+a[StringToken]![SimpleToken][[BeginToken]0[StringToken]][SimpleToken];[SimpleToken]
+a[StringToken]?[SimpleToken][[BeginToken]0[StringToken]][SimpleToken];[SimpleToken]
+a[StringToken]![SimpleToken]?[SimpleToken][[BeginToken]0[StringToken]][SimpleToken];[SimpleToken]
+([BeginToken]a[StringToken]![SimpleToken])[SimpleToken]?[SimpleToken][[BeginToken]0[StringToken]][SimpleToken];[SimpleToken]
+b[StringToken]![SimpleToken]?[SimpleToken][[BeginToken]0[StringToken]][SimpleToken]:[SimpleToken]0[StringToken];[SimpleToken]
+([BeginToken]b[StringToken]![SimpleToken])[SimpleToken]?[SimpleToken][[BeginToken]0[StringToken]][SimpleToken]:[SimpleToken]0[StringToken];[SimpleToken]
+}[SimpleToken][SimpleToken]
diff --git a/pkg/nnbd_migration/lib/instrumentation.dart b/pkg/nnbd_migration/lib/instrumentation.dart
index 79f88e9..8689967 100644
--- a/pkg/nnbd_migration/lib/instrumentation.dart
+++ b/pkg/nnbd_migration/lib/instrumentation.dart
@@ -380,6 +380,16 @@
EdgeInfo get edge;
}
+/// Reason information for a simple fix that isn't associated with any edges or
+/// nodes.
+abstract class SimpleFixReasonInfo implements FixReasonInfo {
+ /// Code location of the fix.
+ CodeReference get codeReference;
+
+ /// Description of the fix.
+ String get description;
+}
+
/// Information exposed to the migration client about a node in the nullability
/// graph resulting from a type substitution.
abstract class SubstitutionNodeInfo extends NullabilityNodeInfo {
diff --git a/pkg/nnbd_migration/lib/src/edge_builder.dart b/pkg/nnbd_migration/lib/src/edge_builder.dart
index a27693a..bba1dd7 100644
--- a/pkg/nnbd_migration/lib/src/edge_builder.dart
+++ b/pkg/nnbd_migration/lib/src/edge_builder.dart
@@ -205,6 +205,8 @@
/// Current nesting depth of [visitTypeName]
int _typeNameNesting = 0;
+ final Set<PromotableElement> _lateHintedLocals = {};
+
EdgeBuilder(this.typeProvider, this._typeSystem, this._variables, this._graph,
this.source, this.listener, this._decoratedClassHierarchy,
{this.instrumentation})
@@ -504,7 +506,8 @@
_fieldsNotInitializedAtDeclaration = {
for (var member in members)
- if (member is FieldDeclaration)
+ if (member is FieldDeclaration &&
+ !_variables.isLateHinted(source, member.fields))
for (var field in member.fields.variables)
if (!field.declaredElement.isStatic && field.initializer == null)
field.declaredElement as FieldElement
@@ -1355,6 +1358,7 @@
var type = getOrComputeElementType(staticElement);
if (!node.inDeclarationContext() &&
node.inGetterContext() &&
+ !_lateHintedLocals.contains(staticElement) &&
!_flowAnalysis.isAssigned(staticElement)) {
_graph.makeNullable(type.node, UninitializedReadOrigin(source, node));
}
@@ -1633,6 +1637,10 @@
_createFlowAnalysis(variable, null);
} else {
assert(_flowAnalysis != null);
+ if (declaredElement is PromotableElement &&
+ _variables.isLateHinted(source, node)) {
+ _lateHintedLocals.add(declaredElement);
+ }
}
var type = _variables.decoratedElementType(declaredElement);
var enclosingElement = declaredElement.enclosingElement;
@@ -1668,6 +1676,7 @@
// when processing variable reads (only if flow analysis indicates
// the variable isn't definitely assigned).
if (isTopLevel &&
+ !_variables.isLateHinted(source, node) &&
!(declaredElement is FieldElement && !declaredElement.isStatic)) {
_graph.makeNullable(
type.node, ImplicitNullInitializerOrigin(source, node));
diff --git a/pkg/nnbd_migration/lib/src/fix_aggregator.dart b/pkg/nnbd_migration/lib/src/fix_aggregator.dart
index 082f4ef..5a77827 100644
--- a/pkg/nnbd_migration/lib/src/fix_aggregator.dart
+++ b/pkg/nnbd_migration/lib/src/fix_aggregator.dart
@@ -3,12 +3,12 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/dart/ast/ast.dart';
-import 'package:analyzer/src/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/dart/ast/visitor.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/nullability_suffix.dart';
import 'package:analyzer/dart/element/type.dart';
+import 'package:analyzer/src/dart/ast/ast.dart';
import 'package:nnbd_migration/instrumentation.dart';
import 'package:nnbd_migration/nnbd_migration.dart';
import 'package:nnbd_migration/src/decorated_type.dart';
@@ -422,6 +422,9 @@
NodeChangeForExpression() : super._();
+ /// Gets the info for any added null check.
+ AtomicEditInfo get addNullCheckInfo => _addNullCheckInfo;
+
/// Indicates whether [addNullCheck] has been called.
bool get addsNullCheck => _addsNullCheck;
@@ -627,11 +630,21 @@
/// that should be added. Otherwise `null`.
DartType addExplicitType;
+ /// Indicates whether a "late" annotation should be added to this variable
+ /// declaration.
+ bool addLate = false;
+
NodeChangeForVariableDeclarationList() : super._();
@override
EditPlan _apply(VariableDeclarationList node, FixAggregator aggregator) {
List<EditPlan> innerPlans = [];
+ if (addLate) {
+ innerPlans.add(aggregator.planner.insertText(
+ node,
+ node.firstTokenAfterCommentAndMetadata.offset,
+ [AtomicEdit.insert('late'), AtomicEdit.insert(' ')]));
+ }
if (addExplicitType != null) {
var typeText = addExplicitType.getDisplayString(withNullability: true);
if (node.keyword?.keyword == Keyword.VAR) {
diff --git a/pkg/nnbd_migration/lib/src/fix_builder.dart b/pkg/nnbd_migration/lib/src/fix_builder.dart
index 3019ad6..ae684e3 100644
--- a/pkg/nnbd_migration/lib/src/fix_builder.dart
+++ b/pkg/nnbd_migration/lib/src/fix_builder.dart
@@ -25,6 +25,7 @@
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/utilities_dart.dart';
+import 'package:nnbd_migration/instrumentation.dart';
import 'package:nnbd_migration/nnbd_migration.dart';
import 'package:nnbd_migration/src/decorated_class_hierarchy.dart';
import 'package:nnbd_migration/src/decorated_type.dart';
@@ -255,6 +256,17 @@
}
}
+/// Fix reason object when adding a null check because of an explicit hint.
+class FixReason_NullCheckHint implements SimpleFixReasonInfo {
+ @override
+ final CodeReference codeReference;
+
+ FixReason_NullCheckHint(this.codeReference);
+
+ @override
+ String get description => 'Null check hint';
+}
+
/// Implementation of [MigrationResolutionHooks] that interfaces with
/// [FixBuilder].
class MigrationResolutionHooksImpl implements MigrationResolutionHooks {
@@ -386,7 +398,9 @@
DartType modifyExpressionType(Expression node, DartType type) =>
_wrapExceptions(node, () => type, () {
if (_fixBuilder._variables.hasNullCheckHint(_fixBuilder.source, node)) {
- type = _addNullCheck(node, type);
+ type = _addNullCheck(node, type,
+ info: AtomicEditInfo(NullabilityFixDescription.checkExpression,
+ [FixReason_NullCheckHint(CodeReference.fromAstNode(node))]));
}
if (type.isDynamic) return type;
var ancestor = _findNullabilityContextAncestor(node);
@@ -441,10 +455,11 @@
return contextType;
}
- DartType _addNullCheck(Expression node, DartType type) {
+ DartType _addNullCheck(Expression node, DartType type,
+ {AtomicEditInfo info}) {
var checks =
_fixBuilder._variables.expressionChecks(_fixBuilder.source, node);
- var info = checks != null
+ info ??= checks != null
? AtomicEditInfo(
NullabilityFixDescription.checkExpression, checks.edges)
: null;
@@ -631,6 +646,10 @@
}
}
}
+ if (_fixBuilder._variables.isLateHinted(source, node)) {
+ (_fixBuilder._getChange(node) as NodeChangeForVariableDeclarationList)
+ .addLate = true;
+ }
super.visitVariableDeclarationList(node);
}
}
diff --git a/pkg/nnbd_migration/lib/src/node_builder.dart b/pkg/nnbd_migration/lib/src/node_builder.dart
index f50f396..256a199 100644
--- a/pkg/nnbd_migration/lib/src/node_builder.dart
+++ b/pkg/nnbd_migration/lib/src/node_builder.dart
@@ -545,6 +545,13 @@
node.metadata.accept(this);
var typeAnnotation = node.type;
var type = typeAnnotation?.accept(this);
+ switch (getPrefixHint(node.firstTokenAfterCommentAndMetadata)) {
+ case PrefixHintComment.late_:
+ _variables.recordLateHint(source, node);
+ break;
+ case PrefixHintComment.none:
+ break;
+ }
for (var variable in node.variables) {
variable.metadata.accept(this);
var declaredElement = variable.declaredElement;
diff --git a/pkg/nnbd_migration/lib/src/nullability_node.dart b/pkg/nnbd_migration/lib/src/nullability_node.dart
index 1f1b1b3..a7ce41f2 100644
--- a/pkg/nnbd_migration/lib/src/nullability_node.dart
+++ b/pkg/nnbd_migration/lib/src/nullability_node.dart
@@ -1512,7 +1512,9 @@
var step = pendingExactNullableSteps.removeLast();
var edge = step.edge;
var node = edge.sourceNode;
- if (node is NullabilityNodeMutable && !edge.isCheckable) {
+ if (node is NullabilityNodeMutable &&
+ !edge.isCheckable &&
+ !node.nonNullIntent.isPresent) {
assert(step.targetNode == null);
step.targetNode = node;
step.newState = Nullability.exactNullable;
diff --git a/pkg/nnbd_migration/lib/src/utilities/hint_utils.dart b/pkg/nnbd_migration/lib/src/utilities/hint_utils.dart
index 4dac293..3249985 100644
--- a/pkg/nnbd_migration/lib/src/utilities/hint_utils.dart
+++ b/pkg/nnbd_migration/lib/src/utilities/hint_utils.dart
@@ -23,6 +23,19 @@
return commentType;
}
+PrefixHintComment getPrefixHint(Token token) {
+ Token commentToken = token.precedingComments;
+ if (commentToken != null) {
+ while (true) {
+ var nextComment = commentToken.next;
+ if (nextComment == null) break;
+ commentToken = nextComment;
+ }
+ if (commentToken.lexeme == '/*late*/') return PrefixHintComment.late_;
+ }
+ return PrefixHintComment.none;
+}
+
/// Types of comments that can influence nullability
enum NullabilityComment {
/// The comment `/*!*/`, which indicates that the type should not have a `?`
@@ -36,3 +49,13 @@
/// No special comment.
none,
}
+
+/// Types of comments that can appear before a token
+enum PrefixHintComment {
+ /// The comment `/*late*/`, which indicates that the variable declaration
+ /// should be late.
+ late_,
+
+ /// No special comment
+ none,
+}
diff --git a/pkg/nnbd_migration/lib/src/variables.dart b/pkg/nnbd_migration/lib/src/variables.dart
index 1d537c9..6b4096c 100644
--- a/pkg/nnbd_migration/lib/src/variables.dart
+++ b/pkg/nnbd_migration/lib/src/variables.dart
@@ -57,6 +57,8 @@
final _expressionChecks = <Source, Map<int, ExpressionChecks>>{};
+ final _lateHints = <Source, Set<int>>{};
+
final _nullCheckHints = <Source, Set<int>>{};
final _potentialModifications = <Source, List<PotentialModification>>{};
@@ -175,6 +177,12 @@
.contains(uniqueIdentifierForSpan(expression.offset, expression.end));
}
+ /// Queries whether the given [node] is preceded by a `/*late*/` hint. See
+ /// [recordLateHint].
+ bool isLateHinted(Source source, VariableDeclarationList node) {
+ return (_lateHints[source] ?? {}).contains(node.offset);
+ }
+
/// Records conditional discard information for the given AST node (which is
/// an `if` statement or a conditional (`?:`) expression).
void recordConditionalDiscard(
@@ -231,6 +239,11 @@
origin.checks;
}
+ /// Records that the given [node] was preceded by a `/*late*/` hint.
+ void recordLateHint(Source source, VariableDeclarationList node) {
+ (_lateHints[source] ??= {}).add(node.offset);
+ }
+
/// Records that the given [expression] is followed by a null check hint
/// (`/*!*/`), for later recall by [hasNullCheckHint].
void recordNullCheckHint(Source source, Expression expression) {
diff --git a/pkg/nnbd_migration/test/api_test.dart b/pkg/nnbd_migration/test/api_test.dart
index 6702f9a..dd1dc53 100644
--- a/pkg/nnbd_migration/test/api_test.dart
+++ b/pkg/nnbd_migration/test/api_test.dart
@@ -2602,6 +2602,32 @@
await _checkSingleFileChanges(content, expected);
}
+ Future<void> test_hint_contradicts_exact_nullability() async {
+ var content = '''
+void f(List<int> x) {
+ x.add(null);
+}
+void g() {
+ f(<int/*!*/>[]);
+}
+''';
+ // `f.x` needs to change to List<int?> to allow `null` to be added to the
+ // list. Ordinarily this would be propagated back to the explicit list in
+ // `g`, but we don't override the hint `/*!*/`.
+ //
+ // TODO(paulberry): we should probably issue some sort of warning to the
+ // user instead.
+ var expected = '''
+void f(List<int?> x) {
+ x.add(null);
+}
+void g() {
+ f(<int/*!*/>[]);
+}
+''';
+ await _checkSingleFileChanges(content, expected);
+ }
+
Future<void> test_ifStatement_nullCheck_noElse() async {
var content = '''
int f(int x) {
@@ -3035,6 +3061,130 @@
await _checkSingleFileChanges(content, expected);
}
+ Future<void> test_late_hint_instance_field_with_constructor() async {
+ var content = '''
+class C {
+ C();
+ /*late*/ int x;
+ f() {
+ x = 1;
+ }
+ int g() => x;
+}
+''';
+ // TODO(paulberry): it would be better to just replace the comment with the
+ // word `late`.
+ var expected = '''
+class C {
+ C();
+ /*late*/ late int x;
+ f() {
+ x = 1;
+ }
+ int g() => x;
+}
+''';
+ await _checkSingleFileChanges(content, expected);
+ }
+
+ Future<void> test_late_hint_instance_field_without_constructor() async {
+ var content = '''
+class C {
+ /*late*/ int x;
+ f() {
+ x = 1;
+ }
+ int g() => x;
+}
+''';
+ // TODO(paulberry): it would be better to just replace the comment with the
+ // word `late`.
+ var expected = '''
+class C {
+ /*late*/ late int x;
+ f() {
+ x = 1;
+ }
+ int g() => x;
+}
+''';
+ await _checkSingleFileChanges(content, expected);
+ }
+
+ Future<void> test_late_hint_local_variable() async {
+ var content = '''
+int f(bool b1, bool b2) {
+ /*late*/ int x;
+ if (b1) {
+ x = 1;
+ }
+ if (b2) {
+ return x;
+ }
+ return 0;
+}
+''';
+ // TODO(paulberry): it would be better to just replace the comment with the
+ // word `late`.
+ var expected = '''
+int f(bool b1, bool b2) {
+ /*late*/ late int x;
+ if (b1) {
+ x = 1;
+ }
+ if (b2) {
+ return x;
+ }
+ return 0;
+}
+''';
+ await _checkSingleFileChanges(content, expected);
+ }
+
+ Future<void> test_late_hint_static_field() async {
+ var content = '''
+class C {
+ static /*late*/ int x;
+ f() {
+ x = 1;
+ }
+ int g() => x;
+}
+''';
+ // TODO(paulberry): it would be better to just replace the comment with the
+ // word `late`.
+ var expected = '''
+class C {
+ static /*late*/ late int x;
+ f() {
+ x = 1;
+ }
+ int g() => x;
+}
+''';
+ await _checkSingleFileChanges(content, expected);
+ }
+
+ Future<void> test_late_hint_top_level_var() async {
+ var content = '''
+/*late*/ int x;
+f() {
+ x = 1;
+}
+int g() => x;
+''';
+ // TODO(paulberry): it would be better to just replace the comment with the
+ // word `late`.
+ var expected = '''
+/*late*/ late int x;
+f() {
+ x = 1;
+}
+int g() => x;
+''';
+ await _checkSingleFileChanges(content, expected);
+ }
+
Future<void> test_leave_downcast_from_dynamic_implicit() async {
var content = 'int f(dynamic n) => n;';
var expected = 'int f(dynamic n) => n;';
diff --git a/pkg/nnbd_migration/test/fix_builder_test.dart b/pkg/nnbd_migration/test/fix_builder_test.dart
index f9d4f9a..3bdfcf7 100644
--- a/pkg/nnbd_migration/test/fix_builder_test.dart
+++ b/pkg/nnbd_migration/test/fix_builder_test.dart
@@ -10,6 +10,8 @@
import 'package:analyzer/src/dart/error/hint_codes.dart';
import 'package:analyzer/src/generated/element_type_provider.dart';
import 'package:analyzer/src/task/strong/checker.dart';
+import 'package:nnbd_migration/nnbd_migration.dart';
+import 'package:nnbd_migration/src/edit_plan.dart';
import 'package:nnbd_migration/src/fix_aggregator.dart';
import 'package:nnbd_migration/src/fix_builder.dart';
import 'package:test/test.dart';
@@ -49,8 +51,11 @@
static final isExplainNonNullable = TypeMatcher<NodeChangeForTypeAnnotation>()
.having((c) => c.makeNullable, 'makeNullable', false);
- static final isNullCheck = TypeMatcher<NodeChangeForExpression>()
- .having((c) => c.addsNullCheck, 'addsNullCheck', true);
+ static final isNodeChangeForExpression =
+ TypeMatcher<NodeChangeForExpression>();
+
+ static final isNullCheck =
+ isNodeChangeForExpression.havingNullCheckWithInfo(anything);
static final isRemoveLanguageVersion =
TypeMatcher<NodeChangeForCompilationUnit>().having(
@@ -83,6 +88,11 @@
return unit;
}
+ TypeMatcher<AtomicEditInfo> isInfo(description, fixReasons) =>
+ TypeMatcher<AtomicEditInfo>()
+ .having((i) => i.description, 'description', description)
+ .having((i) => i.fixReasons, 'fixReasons', fixReasons);
+
Map<AstNode, NodeChange> scopedChanges(
FixBuilder fixBuilder, AstNode scope) =>
{
@@ -2554,7 +2564,11 @@
Future<void> test_simpleIdentifier_null_check_hint() async {
await analyze('int/*?*/ _f(int/*?*/ x) => x/*!*/;');
var xRef = findNode.simple('x/*!*/');
- visitSubexpression(xRef, 'int', changes: {xRef: isNullCheck});
+ visitSubexpression(xRef, 'int', changes: {
+ xRef: isNodeChangeForExpression.havingNullCheckWithInfo(isInfo(
+ NullabilityFixDescription.checkExpression,
+ [TypeMatcher<FixReason_NullCheckHint>()]))
+ });
}
Future<void> test_stringLiteral() async {
@@ -2843,3 +2857,9 @@
TypeMatcher<NodeChangeForConditional>()
.having((c) => c.conditionValue, 'conditionValue', knownValue);
}
+
+extension on TypeMatcher<NodeChangeForExpression> {
+ TypeMatcher<NodeChangeForExpression> havingNullCheckWithInfo(matcher) =>
+ having((c) => c.addsNullCheck, 'addsNullCheck', true)
+ .having((c) => c.addNullCheckInfo, 'addNullCheckInfo', matcher);
+}
diff --git a/pkg/nnbd_migration/test/node_builder_test.dart b/pkg/nnbd_migration/test/node_builder_test.dart
index 7a1fcf7..33013e5 100644
--- a/pkg/nnbd_migration/test/node_builder_test.dart
+++ b/pkg/nnbd_migration/test/node_builder_test.dart
@@ -1713,6 +1713,30 @@
expect(decorated.node, same(never));
}
+ Future<void> test_variableDeclaration_late_hint_after_metadata() async {
+ await analyze('@deprecated /*late*/ int i;');
+ expect(
+ variables.isLateHinted(
+ testSource, findNode.variableDeclarationList('int i')),
+ true);
+ }
+
+ Future<void> test_variableDeclaration_late_hint_multiple_comments() async {
+ await analyze('/*other*/ /*late*/ int i;');
+ expect(
+ variables.isLateHinted(
+ testSource, findNode.variableDeclarationList('int i')),
+ true);
+ }
+
+ Future<void> test_variableDeclaration_late_hint_simple() async {
+ await analyze('/*late*/ int i;');
+ expect(
+ variables.isLateHinted(
+ testSource, findNode.variableDeclarationList('int i')),
+ true);
+ }
+
Future<void> test_variableDeclaration_type_simple() async {
await analyze('''
main() {
diff --git a/pkg/nnbd_migration/test/nullability_node_test.dart b/pkg/nnbd_migration/test/nullability_node_test.dart
index c85fa11..c50614f 100644
--- a/pkg/nnbd_migration/test/nullability_node_test.dart
+++ b/pkg/nnbd_migration/test/nullability_node_test.dart
@@ -356,6 +356,29 @@
expect(n3.isNullable, false);
}
+ void test_propagation_downstream_reverse_substitution_non_null_intent() {
+ // always -> subst(1, 2)
+ // 3 -(uncheckable)-> 1
+ // 4 -(checkable)-> 3
+ // 4 -(hard) -> never
+ var n1 = newNode(1);
+ var n2 = newNode(2);
+ var n3 = newNode(3);
+ var n4 = newNode(4);
+ connect(always, subst(n1, n2));
+ connect(n3, n1, checkable: false);
+ connect(n4, n3, checkable: false);
+ connect(n4, never, hard: true);
+ propagate();
+ expect(n1.isNullable, true);
+ expect(n1.isExactNullable, true);
+ expect(n2.isNullable, false);
+ expect(n3.isNullable, true);
+ expect(n3.isExactNullable, true);
+ expect(n4.isNullable, false);
+ expect(n4.isExactNullable, false);
+ }
+
void
test_propagation_downstream_reverse_substitution_outer_already_nullable() {
// always -> 2
diff --git a/pkg/test_runner/lib/src/compiler_configuration.dart b/pkg/test_runner/lib/src/compiler_configuration.dart
index 9b2e6ba..f57b8ed 100644
--- a/pkg/test_runner/lib/src/compiler_configuration.dart
+++ b/pkg/test_runner/lib/src/compiler_configuration.dart
@@ -760,9 +760,9 @@
String ccFlags;
switch (_configuration.architecture) {
case Architecture.x64:
- case Architecture.simarm64:
ccFlags = "-m64";
break;
+ case Architecture.simarm64:
case Architecture.ia32:
case Architecture.simarm:
case Architecture.arm:
diff --git a/pkg/test_runner/lib/src/options.dart b/pkg/test_runner/lib/src/options.dart
index 757e362..80224dd 100644
--- a/pkg/test_runner/lib/src/options.dart
+++ b/pkg/test_runner/lib/src/options.dart
@@ -662,7 +662,11 @@
var dart2jsOptions = listOption("dart2js_options");
var vmOptions = listOption("vm_options");
var sharedOptions = listOption("shared_options");
- var experiments = listOption("enable-experiment");
+
+ var experimentNames = data["enable-experiment"] as String;
+ var experiments = [
+ if (experimentNames != null) ...experimentNames.split(",")
+ ];
// JSON reporting implies listing and reporting.
if (data['report_in_json'] as bool) {
diff --git a/pkg/test_runner/lib/src/process_queue.dart b/pkg/test_runner/lib/src/process_queue.dart
index e7be0e0..878a3fc 100644
--- a/pkg/test_runner/lib/src/process_queue.dart
+++ b/pkg/test_runner/lib/src/process_queue.dart
@@ -85,7 +85,7 @@
cancelDebugTimer();
_debugTimer = Timer(debugTimerDuration, () {
print("The debug timer of test.dart expired. Please report this issue"
- " to whesse@ and provide the following information:");
+ " to dart-engprod@ and provide the following information:");
print("");
print("Graph is sealed: ${_graph.isSealed}");
print("");
diff --git a/pkg/test_runner/lib/src/test_progress.dart b/pkg/test_runner/lib/src/test_progress.dart
index 5b29c0ba..8fbc394 100644
--- a/pkg/test_runner/lib/src/test_progress.dart
+++ b/pkg/test_runner/lib/src/test_progress.dart
@@ -104,8 +104,8 @@
if (test.lastCommandOutput.result(test) == Expectation.ignore) {
countIgnored++;
if (countIgnored > maxIgnored) {
- print("/nMore than $maxIgnored tests were ignored due to flakes in");
- print("the test infrastructure. Notify whesse@google.com.");
+ print("\nMore than $maxIgnored tests were ignored due to flakes in");
+ print("the test infrastructure. Notify dart-engprod@.");
print("Output of the last ignored test was:");
print(_buildFailureOutput(test));
exit(1);
diff --git a/pkg/vm_service/lib/src/vm_service.dart b/pkg/vm_service/lib/src/vm_service.dart
index 7fc8e94..03d939e 100644
--- a/pkg/vm_service/lib/src/vm_service.dart
+++ b/pkg/vm_service/lib/src/vm_service.dart
@@ -932,7 +932,15 @@
/// clients which need to provide resume approval for this pause type have
/// done so.
///
- /// Important Notes:<strong>Important Notes:</strong>
+ /// **Important Notes:**
+ ///
+ /// - All clients with the same client name share resume permissions. Only a
+ /// single client of a given name is required to provide resume approval.
+ /// - When a client requiring approval disconnects from the service, a paused
+ /// isolate may resume if all other clients requiring resume approval have
+ /// already given approval. In the case that no other client requires resume
+ /// approval for the current pause event, the isolate will be resumed if at
+ /// least one other client has attempted to [resume] the isolate.
Future<Success> requirePermissionToResume(
{bool onPauseStart, bool onPauseReload, bool onPauseExit});
@@ -1000,6 +1008,23 @@
///
/// The following flags may be set at runtime:
///
+ /// - pause_isolates_on_start
+ /// - pause_isolates_on_exit
+ /// - pause_isolates_on_unhandled_exceptions
+ /// - profile_period
+ /// - profiler
+ ///
+ /// Notes:
+ ///
+ /// - `profile_period` can be set to a minimum value of 50. Attempting to set
+ /// `profile_period` to a lower value will result in a value of 50 being set.
+ /// - Setting `profiler` will enable or disable the profiler depending on the
+ /// provided value. If set to false when the profiler is already running, the
+ /// profiler will be stopped but may not free its sample buffer depending on
+ /// platform limitations.
+ ///
+ /// See [Success].
+ ///
/// The return value can be one of [Success] or [Error].
Future<Response> setFlag(String name, String value);
@@ -2454,6 +2479,7 @@
this.dateLastAccumulatorReset,
this.dateLastServiceGC,
});
+
AllocationProfile._fromJson(Map<String, dynamic> json)
: super._fromJson(json) {
members = List<ClassHeapStats>.from(
@@ -2506,6 +2532,7 @@
@required this.decl,
@required this.value,
});
+
BoundField._fromJson(Map<String, dynamic> json) {
decl = createServiceObject(json['decl'], const ['FieldRef']);
value =
@@ -2560,6 +2587,7 @@
@required this.scopeStartTokenPos,
@required this.scopeEndTokenPos,
});
+
BoundVariable._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
value = createServiceObject(
@@ -2621,6 +2649,7 @@
@required this.location,
this.isSyntheticAsyncContinuation,
});
+
Breakpoint._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
breakpointNumber = json['breakpointNumber'];
resolved = json['resolved'];
@@ -2663,6 +2692,7 @@
ClassRef({
@required this.name,
});
+
ClassRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
}
@@ -2755,6 +2785,7 @@
this.superType,
this.mixin,
});
+
Class._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
error = createServiceObject(json['error'], const ['ErrorRef']);
@@ -2832,6 +2863,7 @@
@required this.instancesAccumulated,
@required this.instancesCurrent,
});
+
ClassHeapStats._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
classRef = createServiceObject(json['class'], const ['ClassRef']);
accumulatedSize = json['accumulatedSize'];
@@ -2868,6 +2900,7 @@
ClassList({
@required this.classes,
});
+
ClassList._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
classes = List<ClassRef>.from(
createServiceObject(json['classes'], const ['ClassRef']) ?? []);
@@ -2897,6 +2930,7 @@
ClientName({
@required this.name,
});
+
ClientName._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
}
@@ -2929,6 +2963,7 @@
@required this.name,
@required this.kind,
});
+
CodeRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
kind = json['kind'];
@@ -2968,6 +3003,7 @@
@required this.name,
@required this.kind,
});
+
Code._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
kind = json['kind'];
@@ -3002,6 +3038,7 @@
ContextRef({
@required this.length,
});
+
ContextRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
length = json['length'];
}
@@ -3045,6 +3082,7 @@
@required this.variables,
this.parent,
});
+
Context._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
length = json['length'];
parent = createServiceObject(json['parent'], const ['Context']);
@@ -3082,6 +3120,7 @@
ContextElement({
@required this.value,
});
+
ContextElement._fromJson(Map<String, dynamic> json) {
value =
createServiceObject(json['value'], const ['InstanceRef', 'Sentinel']);
@@ -3145,6 +3184,7 @@
@required this.functions,
@required this.samples,
});
+
CpuSamples._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
samplePeriod = json['samplePeriod'];
maxStackDepth = json['maxStackDepth'];
@@ -3226,6 +3266,7 @@
this.userTag,
this.truncated,
});
+
CpuSample._fromJson(Map<String, dynamic> json) {
tid = json['tid'];
timestamp = json['timestamp'];
@@ -3267,6 +3308,7 @@
@required this.kind,
@required this.message,
});
+
ErrorRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
kind = json['kind'];
message = json['message'];
@@ -3319,6 +3361,7 @@
this.exception,
this.stacktrace,
});
+
Error._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
kind = json['kind'];
message = json['message'];
@@ -3558,6 +3601,7 @@
this.last,
this.data,
});
+
Event._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
kind = json['kind'];
isolate = createServiceObject(json['isolate'], const ['IsolateRef']);
@@ -3664,6 +3708,7 @@
@required this.isFinal,
@required this.isStatic,
});
+
FieldRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
owner = createServiceObject(json['owner'], const ['ObjRef']);
@@ -3740,6 +3785,7 @@
this.staticValue,
this.location,
});
+
Field._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
owner = createServiceObject(json['owner'], const ['ObjRef']);
@@ -3803,6 +3849,7 @@
@required this.modified,
this.valueAsString,
});
+
Flag._fromJson(Map<String, dynamic> json) {
name = json['name'];
comment = json['comment'];
@@ -3836,6 +3883,7 @@
FlagList({
@required this.flags,
});
+
FlagList._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
flags = List<Flag>.from(
createServiceObject(json['flags'], const ['Flag']) ?? []);
@@ -3884,6 +3932,7 @@
this.vars,
this.kind,
});
+
Frame._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
index = json['index'];
function = createServiceObject(json['function'], const ['FuncRef']);
@@ -3939,6 +3988,7 @@
@required this.isStatic,
@required this.isConst,
});
+
FuncRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
owner = createServiceObject(
@@ -4004,6 +4054,7 @@
this.location,
this.code,
});
+
Func._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
owner = createServiceObject(
@@ -4152,6 +4203,7 @@
this.closureFunction,
this.closureContext,
});
+
InstanceRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
kind = json['kind'];
classRef = createServiceObject(json['class'], const ['ClassRef']);
@@ -4481,6 +4533,7 @@
this.targetType,
this.bound,
});
+
Instance._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
kind = json['kind'];
classRef = createServiceObject(json['class'], const ['ClassRef']);
@@ -4591,6 +4644,7 @@
@required this.number,
@required this.name,
});
+
IsolateRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
id = json['id'];
number = json['number'];
@@ -4691,6 +4745,7 @@
this.error,
this.extensionRPCs,
});
+
Isolate._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
id = json['id'];
number = json['number'];
@@ -4763,6 +4818,7 @@
@required this.number,
@required this.name,
});
+
IsolateGroupRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
id = json['id'];
number = json['number'];
@@ -4812,6 +4868,7 @@
@required this.name,
@required this.isolates,
});
+
IsolateGroup._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
id = json['id'];
number = json['number'];
@@ -4853,6 +4910,7 @@
InboundReferences({
@required this.references,
});
+
InboundReferences._fromJson(Map<String, dynamic> json)
: super._fromJson(json) {
references = List<InboundReference>.from(
@@ -4897,6 +4955,7 @@
this.parentListIndex,
this.parentField,
});
+
InboundReference._fromJson(Map<String, dynamic> json) {
source = createServiceObject(json['source'], const ['ObjRef']);
parentListIndex = json['parentListIndex'];
@@ -4931,6 +4990,7 @@
@required this.totalCount,
@required this.instances,
});
+
InstanceSet._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
totalCount = json['totalCount'];
instances = List<ObjRef>.from(createServiceObject(
@@ -4967,6 +5027,7 @@
@required this.name,
@required this.uri,
});
+
LibraryRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
uri = json['uri'];
@@ -5032,6 +5093,7 @@
@required this.functions,
@required this.classes,
});
+
Library._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
uri = json['uri'];
@@ -5095,6 +5157,7 @@
@required this.prefix,
@required this.target,
});
+
LibraryDependency._fromJson(Map<String, dynamic> json) {
isImport = json['isImport'];
isDeferred = json['isDeferred'];
@@ -5159,6 +5222,7 @@
@required this.error,
@required this.stackTrace,
});
+
LogRecord._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
message = createServiceObject(json['message'], const ['InstanceRef']);
time = json['time'];
@@ -5204,6 +5268,7 @@
@required this.key,
@required this.value,
});
+
MapAssociation._fromJson(Map<String, dynamic> json) {
key = createServiceObject(json['key'], const ['InstanceRef', 'Sentinel']);
value =
@@ -5249,6 +5314,7 @@
@required this.heapCapacity,
@required this.heapUsage,
});
+
MemoryUsage._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
externalUsage = json['externalUsage'];
heapCapacity = json['heapCapacity'];
@@ -5308,6 +5374,7 @@
this.handler,
this.location,
});
+
Message._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
index = json['index'];
name = json['name'];
@@ -5349,6 +5416,7 @@
NativeFunction({
@required this.name,
});
+
NativeFunction._fromJson(Map<String, dynamic> json) {
name = json['name'];
}
@@ -5376,6 +5444,7 @@
NullValRef({
@required this.valueAsString,
});
+
NullValRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
valueAsString = json['valueAsString'];
}
@@ -5411,6 +5480,7 @@
NullVal({
@required this.valueAsString,
});
+
NullVal._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
valueAsString = json['valueAsString'];
}
@@ -5453,6 +5523,7 @@
@required this.id,
this.fixedId,
});
+
ObjRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
id = json['id'];
fixedId = json['fixedId'];
@@ -5520,6 +5591,7 @@
this.classRef,
this.size,
});
+
Obj._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
id = json['id'];
fixedId = json['fixedId'];
@@ -5578,6 +5650,7 @@
@required this.resolvedUrl,
@required this.function,
});
+
ProfileFunction._fromJson(Map<String, dynamic> json) {
kind = json['kind'];
inclusiveTicks = json['inclusiveTicks'];
@@ -5613,6 +5686,7 @@
ReloadReport({
@required this.success,
});
+
ReloadReport._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
success = json['success'];
}
@@ -5656,6 +5730,7 @@
this.parentMapKey,
this.parentField,
});
+
RetainingObject._fromJson(Map<String, dynamic> json) {
value = createServiceObject(json['value'], const ['ObjRef']);
parentListIndex = json['parentListIndex'];
@@ -5698,6 +5773,7 @@
@required this.gcRootType,
@required this.elements,
});
+
RetainingPath._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
length = json['length'];
gcRootType = json['gcRootType'];
@@ -5738,6 +5814,7 @@
Response({
@required this.type,
});
+
Response._fromJson(this.json) {
type = json['type'];
}
@@ -5769,6 +5846,7 @@
@required this.kind,
@required this.valueAsString,
});
+
Sentinel._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
kind = json['kind'];
valueAsString = json['valueAsString'];
@@ -5800,6 +5878,7 @@
ScriptRef({
@required this.uri,
});
+
ScriptRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
uri = json['uri'];
}
@@ -5888,6 +5967,7 @@
this.source,
this.tokenPosTable,
});
+
Script._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
uri = json['uri'];
library = createServiceObject(json['library'], const ['LibraryRef']);
@@ -5961,6 +6041,7 @@
ScriptList({
@required this.scripts,
});
+
ScriptList._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
scripts = List<ScriptRef>.from(
createServiceObject(json['scripts'], const ['ScriptRef']) ?? []);
@@ -6000,6 +6081,7 @@
@required this.tokenPos,
this.endTokenPos,
});
+
SourceLocation._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
script = createServiceObject(json['script'], const ['ScriptRef']);
tokenPos = json['tokenPos'];
@@ -6045,6 +6127,7 @@
@required this.ranges,
@required this.scripts,
});
+
SourceReport._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
ranges = List<SourceReportRange>.from(
_createSpecificObject(json['ranges'], SourceReportRange.parse));
@@ -6088,6 +6171,7 @@
@required this.hits,
@required this.misses,
});
+
SourceReportCoverage._fromJson(Map<String, dynamic> json) {
hits = List<int>.from(json['hits']);
misses = List<int>.from(json['misses']);
@@ -6155,6 +6239,7 @@
this.coverage,
this.possibleBreakpoints,
});
+
SourceReportRange._fromJson(Map<String, dynamic> json) {
scriptIndex = json['scriptIndex'];
startPos = json['startPos'];
@@ -6208,6 +6293,7 @@
this.asyncCausalFrames,
this.awaiterFrames,
});
+
Stack._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
frames = List<Frame>.from(
createServiceObject(json['frames'], const ['Frame']) ?? []);
@@ -6249,6 +6335,7 @@
json == null ? null : Success._fromJson(json);
Success();
+
Success._fromJson(Map<String, dynamic> json) : super._fromJson(json);
@override
@@ -6279,6 +6366,7 @@
@required this.timeOriginMicros,
@required this.timeExtentMicros,
});
+
Timeline._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
traceEvents = List<TimelineEvent>.from(
createServiceObject(json['traceEvents'], const ['TimelineEvent']) ??
@@ -6313,6 +6401,7 @@
Map<String, dynamic> json;
TimelineEvent();
+
TimelineEvent._fromJson(this.json);
Map<String, dynamic> toJson() {
@@ -6344,6 +6433,7 @@
@required this.availableStreams,
@required this.recordedStreams,
});
+
TimelineFlags._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
recorderName = json['recorderName'];
availableStreams = List<String>.from(json['availableStreams']);
@@ -6377,6 +6467,7 @@
Timestamp({
@required this.timestamp,
});
+
Timestamp._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
timestamp = json['timestamp'];
}
@@ -6405,6 +6496,7 @@
TypeArgumentsRef({
@required this.name,
});
+
TypeArgumentsRef._fromJson(Map<String, dynamic> json)
: super._fromJson(json) {
name = json['name'];
@@ -6447,6 +6539,7 @@
@required this.name,
@required this.types,
});
+
TypeArguments._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
types = List<InstanceRef>.from(
@@ -6517,6 +6610,7 @@
this.line,
this.column,
});
+
UnresolvedSourceLocation._fromJson(Map<String, dynamic> json)
: super._fromJson(json) {
script = createServiceObject(json['script'], const ['ScriptRef']);
@@ -6558,6 +6652,7 @@
@required this.major,
@required this.minor,
});
+
Version._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
major = json['major'];
minor = json['minor'];
@@ -6589,6 +6684,7 @@
VMRef({
@required this.name,
});
+
VMRef._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
}
@@ -6654,6 +6750,7 @@
@required this.isolates,
@required this.isolateGroups,
});
+
VM._fromJson(Map<String, dynamic> json) : super._fromJson(json) {
name = json['name'];
architectureBits = json['architectureBits'];
diff --git a/pkg/vm_service/test/common/service_test_common.dart b/pkg/vm_service/test/common/service_test_common.dart
index 55edf13..56a6304 100644
--- a/pkg/vm_service/test/common/service_test_common.dart
+++ b/pkg/vm_service/test/common/service_test_common.dart
@@ -131,7 +131,7 @@
// Make sure that the isolate has stopped.
final isolate = await service.getIsolate(isolateRef.id);
- expect(isolate.pauseEvent != EventKind.kResume, isTrue);
+ expect(isolate.pauseEvent.kind != EventKind.kResume, isTrue);
final stack = await service.getStack(isolateRef.id);
diff --git a/pkg/vm_service/test/throws_sentinel_test.dart b/pkg/vm_service/test/throws_sentinel_test.dart
index b399f06..623ab02 100644
--- a/pkg/vm_service/test/throws_sentinel_test.dart
+++ b/pkg/vm_service/test/throws_sentinel_test.dart
@@ -12,7 +12,7 @@
try {
final res = await vm.getIsolate('isolates/12321');
fail('Expected SentinelException, got $res');
- } on SentinelException catch (e) {
+ } on SentinelException {
// Expected.
} catch (e) {
fail('Expected SentinelException, got $e');
diff --git a/pkg/vm_service/tool/common/src_gen_common.dart b/pkg/vm_service/tool/common/src_gen_common.dart
index 0a47d1c..ba7e585c 100644
--- a/pkg/vm_service/tool/common/src_gen_common.dart
+++ b/pkg/vm_service/tool/common/src_gen_common.dart
@@ -19,6 +19,7 @@
bool isPara(Node node) => node is Element && node.tag == 'p';
bool isBlockquote(Node node) => node is Element && node.tag == 'blockquote';
bool isPre(Node node) => node is Element && node.tag == 'pre';
+bool isList(Node node) => node is Element && node.tag == 'ul';
bool isH1(Node node) => node is Element && node.tag == 'h1';
bool isH3(Node node) => node is Element && node.tag == 'h3';
bool isHeader(Node node) => node is Element && node.tag.startsWith('h');
diff --git a/pkg/vm_service/tool/dart/generate_dart.dart b/pkg/vm_service/tool/dart/generate_dart.dart
index eb2e6e8..0e85f27 100644
--- a/pkg/vm_service/tool/dart/generate_dart.dart
+++ b/pkg/vm_service/tool/dart/generate_dart.dart
@@ -405,10 +405,13 @@
String docs = '';
while (i + 1 < nodes.length &&
- (isPara(nodes[i + 1]) || isBlockquote(nodes[i + 1]))) {
+ (isPara(nodes[i + 1]) || isBlockquote(nodes[i + 1])) ||
+ isList(nodes[i + 1])) {
Element p = nodes[++i];
String str = TextOutputVisitor.printText(p);
- if (!str.contains('|') && !str.contains('``')) {
+ if (!str.contains('|') &&
+ !str.contains('``') &&
+ !str.startsWith('- ')) {
str = collapseWhitespace(str);
}
docs = '${docs}\n\n${str}';
@@ -1363,8 +1366,9 @@
if (docs != null) gen.writeDocs(docs);
gen.write('class ${name} ');
if (superName != null) gen.write('extends ${superName} ');
- if (parent.getType('${name}Ref') != null)
+ if (parent.getType('${name}Ref') != null) {
gen.write('implements ${name}Ref ');
+ }
gen.writeln('{');
gen.writeln('static ${name} parse(Map<String, dynamic> json) => '
'json == null ? null : ${name}._fromJson(json);');
@@ -1399,6 +1403,7 @@
gen.writeln(');');
// Build from JSON.
+ gen.writeln();
String superCall = superName == null ? '' : ": super._fromJson(json) ";
if (name == 'Response' || name == 'TimelineEvent') {
gen.write('${name}._fromJson(this.json)');
@@ -1899,6 +1904,14 @@
_blockquote = true;
} else if (element.tag == 'a') {
_href = true;
+ } else if (element.tag == 'strong') {
+ buf.write('**');
+ } else if (element.tag == 'ul') {
+ // Nothing to do.
+ } else if (element.tag == 'li') {
+ buf.write('- ');
+ } else {
+ throw 'unknown node type: ${element.tag}';
}
return true;
@@ -1926,13 +1939,17 @@
} else if (element.tag == 'p') {
buf.write('\n\n');
} else if (element.tag == 'blockquote') {
- //buf.write('```\n');
_blockquote = false;
} else if (element.tag == 'a') {
_href = false;
+ } else if (element.tag == 'strong') {
+ buf.write('**');
+ } else if (element.tag == 'ul') {
+ // Nothing to do.
+ } else if (element.tag == 'li') {
+ buf.write('\n');
} else {
- print(' </${element.tag}>');
- buf.write(renderToHtml([element]));
+ throw 'unknown node type: ${element.tag}';
}
}
diff --git a/pkg/vm_service/tool/java/generate_java.dart b/pkg/vm_service/tool/java/generate_java.dart
index 099e0e0..239abcf 100644
--- a/pkg/vm_service/tool/java/generate_java.dart
+++ b/pkg/vm_service/tool/java/generate_java.dart
@@ -369,8 +369,6 @@
_parse(new Tokenizer(definition).tokenize());
}
- Enum._(this.name, this.docs);
-
String get elementTypeName => '$servicePackage.element.$name';
void generateEnum(JavaGenerator gen) {
@@ -755,8 +753,6 @@
_parse(new Tokenizer(definition).tokenize());
}
- Type._(this.parent, this.rawName, this.name, this.superName, this.docs);
-
String get elementTypeName {
if (isSimple) return null;
return '$servicePackage.element.$name';
diff --git a/runtime/bin/dartdev_utils.cc b/runtime/bin/dartdev_utils.cc
index 4708e1e..88ac6f3 100644
--- a/runtime/bin/dartdev_utils.cc
+++ b/runtime/bin/dartdev_utils.cc
@@ -30,12 +30,11 @@
bool DartDevUtils::TryResolveDartDevSnapshotPath(char** script_name) {
// |dir_prefix| includes the last path seperator.
- auto dir_prefix = std::unique_ptr<char, void (*)(void*)>(
- EXEUtils::GetDirectoryPrefixFromExeName(), free);
+ auto dir_prefix = EXEUtils::GetDirectoryPrefixFromExeName();
// First assume we're in dart-sdk/bin.
char* snapshot_path =
- Utils::SCreate("%s/snapshots/dartdev.dart.snapshot", dir_prefix.get());
+ Utils::SCreate("%ssnapshots/dartdev.dart.snapshot", dir_prefix.get());
if (File::Exists(nullptr, snapshot_path)) {
*script_name = snapshot_path;
return true;
@@ -45,7 +44,7 @@
// If we're not in dart-sdk/bin, we might be in one of the $SDK/out/*
// directories. Try to use a snapshot from a previously built SDK.
snapshot_path = Utils::SCreate(
- "%s/dart-sdk/bin/snapshots/dartdev.dart.snapshot", dir_prefix.get());
+ "%sdart-sdk/bin/snapshots/dartdev.dart.snapshot", dir_prefix.get());
if (File::Exists(nullptr, snapshot_path)) {
*script_name = snapshot_path;
return true;
diff --git a/runtime/bin/dfe.cc b/runtime/bin/dfe.cc
index f700d50..39dec0c 100644
--- a/runtime/bin/dfe.cc
+++ b/runtime/bin/dfe.cc
@@ -113,8 +113,7 @@
}
// |dir_prefix| includes the last path seperator.
- auto dir_prefix = std::unique_ptr<char, void (*)(void*)>(
- EXEUtils::GetDirectoryPrefixFromExeName(), free);
+ auto dir_prefix = EXEUtils::GetDirectoryPrefixFromExeName();
if (target_abi_version != Options::kAbiVersionUnset) {
kernel_service_dill_ = nullptr;
diff --git a/runtime/bin/exe_utils.cc b/runtime/bin/exe_utils.cc
index 81568ab..091f890 100644
--- a/runtime/bin/exe_utils.cc
+++ b/runtime/bin/exe_utils.cc
@@ -12,7 +12,36 @@
namespace dart {
namespace bin {
-char* EXEUtils::GetDirectoryPrefixFromExeName() {
+// Returns the directory portion of a given path.
+//
+// If dir is NULL, the result must be freed by the caller. Otherwise, the
+// result is copied into dir.
+static char* GetDirectoryFromPath(const char* path, char* dir) {
+ const char* sep = File::PathSeparator();
+ const intptr_t sep_length = strlen(sep);
+ intptr_t path_len = strlen(path);
+
+ for (intptr_t i = path_len - 1; i >= 0; --i) {
+ const char* str = path + i;
+ if (strncmp(str, sep, sep_length) == 0
+#if defined(HOST_OS_WINDOWS)
+ // TODO(aam): GetExecutableName doesn't work reliably on Windows,
+ || *str == '/'
+#endif
+ ) {
+ if (dir != nullptr) {
+ strncpy(dir, path, i);
+ dir[i] = '\0';
+ return dir;
+ } else {
+ return Utils::StrNDup(path, i + 1);
+ }
+ }
+ }
+ return nullptr;
+}
+
+Utils::CStringUniquePtr EXEUtils::GetDirectoryPrefixFromExeName() {
const char* name = nullptr;
const int kTargetSize = 4096;
char target[kTargetSize];
@@ -27,40 +56,32 @@
target_size = strlen(name);
}
Namespace* namespc = Namespace::Create(Namespace::Default());
-
- // We might run into symlinks of symlinks, so make sure we follow the
- // links all the way. See https://github.com/dart-lang/sdk/issues/41057 for
- // an example where this happens with brew on MacOS.
- bool followedSymlink = false;
- while (File::GetType(namespc, name, false) == File::kIsLink) {
- // Resolve the link without creating Dart scope String.
- name = File::LinkTarget(namespc, name, target, kTargetSize);
- if (name == NULL) {
- return strdup("");
- }
- followedSymlink = true;
- }
- if (followedSymlink) {
+ if (File::GetType(namespc, name, false) == File::kIsLink) {
+ char dir_path[kTargetSize];
+ // cwd is currently wherever we launched from, so set the cwd to the
+ // directory of the symlink while we try and resolve it. If we don't
+ // do this, we won't be able to properly resolve relative paths.
+ auto initial_dir_path =
+ Utils::CreateCStringUniquePtr(Directory::CurrentNoScope());
+ // We might run into symlinks of symlinks, so make sure we follow the
+ // links all the way. See https://github.com/dart-lang/sdk/issues/41057 for
+ // an example where this happens with brew on MacOS.
+ do {
+ Directory::SetCurrent(namespc, GetDirectoryFromPath(name, dir_path));
+ // Resolve the link without creating Dart scope String.
+ name = File::LinkTarget(namespc, name, target, kTargetSize);
+ if (name == nullptr) {
+ return Utils::CreateCStringUniquePtr(strdup(""));
+ }
+ } while (File::GetType(namespc, name, false) == File::kIsLink);
target_size = strlen(name);
+
+ // Reset cwd to the original value.
+ Directory::SetCurrent(namespc, initial_dir_path.get());
}
namespc->Release();
- const char* sep = File::PathSeparator();
- const intptr_t sep_length = strlen(sep);
-
- for (intptr_t i = target_size - 1; i >= 0; --i) {
- const char* str = name + i;
- if (strncmp(str, sep, sep_length) == 0
-#if defined(HOST_OS_WINDOWS)
- // TODO(aam): GetExecutableName doesn't work reliably on Windows,
- // the code below is a workaround for that (we would be using
- // just single Platform::Separator instead of both slashes if it did).
- || *str == '/'
-#endif
- ) {
- return Utils::StrNDup(name, i + 1);
- }
- }
- return strdup("");
+ char* result = GetDirectoryFromPath(name, nullptr);
+ return Utils::CreateCStringUniquePtr(result == nullptr ? strdup("") : result);
}
} // namespace bin
diff --git a/runtime/bin/exe_utils.h b/runtime/bin/exe_utils.h
index 42d27fe..0c3eafb 100644
--- a/runtime/bin/exe_utils.h
+++ b/runtime/bin/exe_utils.h
@@ -10,6 +10,7 @@
#include "include/dart_api.h"
#include "platform/globals.h"
+#include "platform/utils.h"
namespace dart {
namespace bin {
@@ -17,7 +18,7 @@
class EXEUtils {
public:
// Returns the path to the directory the current executable resides in.
- static char* GetDirectoryPrefixFromExeName();
+ static Utils::CStringUniquePtr GetDirectoryPrefixFromExeName();
private:
DISALLOW_COPY_AND_ASSIGN(EXEUtils);
diff --git a/runtime/tests/vm/dart/regress_40753_test.dart b/runtime/tests/vm/dart/regress_40753_test.dart
new file mode 100644
index 0000000..f257d3e
--- /dev/null
+++ b/runtime/tests/vm/dart/regress_40753_test.dart
@@ -0,0 +1,26 @@
+// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// VMOptions=--optimization-filter=var50 --deoptimize-every=1
+
+final var50 = Expando<int>('expando');
+
+foo(int arg) {
+ if (arg >= 14) {
+ return var50[15];
+ }
+ try {
+ return foo(arg + 1);
+ } catch (exception) {}
+
+ foo(arg + 1);
+}
+
+main() {
+ try {
+ foo(0);
+ } catch (e) {
+ print('rows');
+ }
+}
diff --git a/runtime/vm/compiler/assembler/assembler_arm.h b/runtime/vm/compiler/assembler/assembler_arm.h
index f75e142..5f8ee9c 100644
--- a/runtime/vm/compiler/assembler/assembler_arm.h
+++ b/runtime/vm/compiler/assembler/assembler_arm.h
@@ -397,6 +397,9 @@
void Jump(Label* label) { b(label); }
void LoadField(Register dst, FieldAddress address) { ldr(dst, address); }
+ void LoadMemoryValue(Register dst, Register base, int32_t offset) {
+ LoadFromOffset(kWord, dst, base, offset, AL);
+ }
void CompareWithFieldValue(Register value, FieldAddress address) {
CompareWithMemoryValue(value, address);
diff --git a/runtime/vm/compiler/assembler/assembler_arm64.h b/runtime/vm/compiler/assembler/assembler_arm64.h
index 86b1b03..d83aa8e 100644
--- a/runtime/vm/compiler/assembler/assembler_arm64.h
+++ b/runtime/vm/compiler/assembler/assembler_arm64.h
@@ -476,6 +476,9 @@
void Jump(Label* label) { b(label); }
void LoadField(Register dst, FieldAddress address) { ldr(dst, address); }
+ void LoadMemoryValue(Register dst, Register base, int32_t offset) {
+ LoadFromOffset(dst, base, offset, kDoubleWord);
+ }
void CompareWithFieldValue(Register value, FieldAddress address) {
CompareWithMemoryValue(value, address);
diff --git a/runtime/vm/compiler/assembler/assembler_ia32.cc b/runtime/vm/compiler/assembler/assembler_ia32.cc
index 335494b..3f5872f 100644
--- a/runtime/vm/compiler/assembler/assembler_ia32.cc
+++ b/runtime/vm/compiler/assembler/assembler_ia32.cc
@@ -2539,6 +2539,10 @@
EnterDartFrame(0);
}
+void Assembler::LeaveStubFrame() {
+ LeaveFrame();
+}
+
void Assembler::EmitOperand(int rm, const Operand& operand) {
ASSERT(rm >= 0 && rm < 8);
const intptr_t length = operand.length_;
diff --git a/runtime/vm/compiler/assembler/assembler_ia32.h b/runtime/vm/compiler/assembler/assembler_ia32.h
index 3ed40e3..cf87f74 100644
--- a/runtime/vm/compiler/assembler/assembler_ia32.h
+++ b/runtime/vm/compiler/assembler/assembler_ia32.h
@@ -568,9 +568,14 @@
* Macros for High-level operations and implemented on all architectures.
*/
+ void Ret() { ret(); }
void CompareRegisters(Register a, Register b);
void BranchIf(Condition condition, Label* label) { j(condition, label); }
- void LoadField(Register dst, FieldAddress address) { movw(dst, address); }
+
+ void LoadField(Register dst, FieldAddress address) { movl(dst, address); }
+ void LoadMemoryValue(Register dst, Register base, int32_t offset) {
+ movl(dst, Address(base, offset));
+ }
// Issues a move instruction if 'to' is not the same as 'from'.
void MoveRegister(Register to, Register from);
@@ -805,6 +810,7 @@
// pushl immediate(0)
// .....
void EnterStubFrame();
+ void LeaveStubFrame();
static const intptr_t kEnterStubFramePushedWords = 2;
// Instruction pattern from entrypoint is used in dart frame prologs
diff --git a/runtime/vm/compiler/assembler/assembler_x64.h b/runtime/vm/compiler/assembler/assembler_x64.h
index 7960806..4508fd9 100644
--- a/runtime/vm/compiler/assembler/assembler_x64.h
+++ b/runtime/vm/compiler/assembler/assembler_x64.h
@@ -854,6 +854,9 @@
void Jump(Label* label) { jmp(label); }
void LoadField(Register dst, FieldAddress address) { movq(dst, address); }
+ void LoadMemoryValue(Register dst, Register base, int32_t offset) {
+ movq(dst, Address(base, offset));
+ }
void CompareWithFieldValue(Register value, FieldAddress address) {
cmpq(value, address);
diff --git a/runtime/vm/compiler/backend/il.cc b/runtime/vm/compiler/backend/il.cc
index 823b48b..80958c4 100644
--- a/runtime/vm/compiler/backend/il.cc
+++ b/runtime/vm/compiler/backend/il.cc
@@ -4044,6 +4044,41 @@
JoinEntryInstr::EmitNativeCode(compiler);
}
+LocationSummary* InitStaticFieldInstr::MakeLocationSummary(Zone* zone,
+ bool opt) const {
+ const intptr_t kNumInputs = 0;
+ const intptr_t kNumTemps = 0;
+ LocationSummary* locs = new (zone)
+ LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
+ return locs;
+}
+
+void InitStaticFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
+ // Note: static fields ids won't be changed by hot-reload.
+ const intptr_t field_table_offset =
+ compiler::target::Thread::field_table_values_offset();
+ const intptr_t field_offset = compiler::target::FieldTable::OffsetOf(field());
+
+ const Register temp = InitStaticFieldABI::kFieldReg;
+ __ LoadMemoryValue(temp, THR, static_cast<int32_t>(field_table_offset));
+ __ LoadMemoryValue(temp, temp, static_cast<int32_t>(field_offset));
+
+ compiler::Label call_runtime, no_call;
+ __ CompareObject(temp, Object::sentinel());
+ __ BranchIf(EQUAL, &call_runtime);
+
+ __ CompareObject(temp, Object::transition_sentinel());
+ __ BranchIf(NOT_EQUAL, &no_call);
+
+ __ Bind(&call_runtime);
+ __ LoadObject(InitStaticFieldABI::kFieldReg,
+ Field::ZoneHandle(field().Original()));
+ compiler->GenerateCallWithDeopt(token_pos(), deopt_id(),
+ StubCode::InitStaticField(),
+ /*kind=*/RawPcDescriptors::kOther, locs());
+ __ Bind(&no_call);
+}
+
LocationSummary* PhiInstr::MakeLocationSummary(Zone* zone,
bool optimizing) const {
UNREACHABLE();
diff --git a/runtime/vm/compiler/backend/il_arm.cc b/runtime/vm/compiler/backend/il_arm.cc
index 4383bad..a765a18 100644
--- a/runtime/vm/compiler/backend/il_arm.cc
+++ b/runtime/vm/compiler/backend/il_arm.cc
@@ -3507,41 +3507,6 @@
__ Bind(&no_call);
}
-LocationSummary* InitStaticFieldInstr::MakeLocationSummary(Zone* zone,
- bool opt) const {
- const intptr_t kNumInputs = 0;
- const intptr_t kNumTemps = 1;
- LocationSummary* locs = new (zone)
- LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
- locs->set_temp(0, Location::RegisterLocation(R1));
- return locs;
-}
-
-void InitStaticFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
- Register temp = locs()->temp(0).reg();
- compiler::Label call_runtime, no_call;
-
- __ LoadFromOffset(kWord, temp, THR,
- compiler::target::Thread::field_table_values_offset());
- // Note: static fields ids won't be changed by hot-reload.
- __ LoadFromOffset(kWord, temp, temp,
- compiler::target::FieldTable::OffsetOf(field()));
-
- __ CompareObject(temp, Object::sentinel());
- __ b(&call_runtime, EQ);
-
- __ CompareObject(temp, Object::transition_sentinel());
- __ b(&no_call, NE);
-
- __ Bind(&call_runtime);
- __ PushObject(Object::null_object()); // Make room for (unused) result.
- __ PushObject(Field::ZoneHandle(field().Original()));
- compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
- kInitStaticFieldRuntimeEntry, 1, locs());
- __ Drop(2); // Remove argument and result placeholder.
- __ Bind(&no_call);
-}
-
LocationSummary* CloneContextInstr::MakeLocationSummary(Zone* zone,
bool opt) const {
const intptr_t kNumInputs = 1;
diff --git a/runtime/vm/compiler/backend/il_arm64.cc b/runtime/vm/compiler/backend/il_arm64.cc
index 0b8a188..2c73987 100644
--- a/runtime/vm/compiler/backend/il_arm64.cc
+++ b/runtime/vm/compiler/backend/il_arm64.cc
@@ -2996,40 +2996,6 @@
__ Bind(&no_call);
}
-LocationSummary* InitStaticFieldInstr::MakeLocationSummary(Zone* zone,
- bool opt) const {
- const intptr_t kNumInputs = 0;
- const intptr_t kNumTemps = 1;
- LocationSummary* locs = new (zone)
- LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
- locs->set_temp(0, Location::RegisterLocation(R1));
- return locs;
-}
-
-void InitStaticFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
- Register temp = locs()->temp(0).reg();
- compiler::Label call_runtime, no_call;
-
- __ LoadFromOffset(temp, THR,
- compiler::target::Thread::field_table_values_offset());
- // Note: static fields ids won't be changed by hot-reload.
- __ LoadFromOffset(temp, temp,
- compiler::target::FieldTable::OffsetOf(field()));
- __ CompareObject(temp, Object::sentinel());
- __ b(&call_runtime, EQ);
-
- __ CompareObject(temp, Object::transition_sentinel());
- __ b(&no_call, NE);
-
- __ Bind(&call_runtime);
- __ Push(NULL_REG);
- __ PushObject(Field::ZoneHandle(field().Original()));
- compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
- kInitStaticFieldRuntimeEntry, 1, locs());
- __ Drop(2); // Remove argument and result placeholder.
- __ Bind(&no_call);
-}
-
LocationSummary* CloneContextInstr::MakeLocationSummary(Zone* zone,
bool opt) const {
const intptr_t kNumInputs = 1;
diff --git a/runtime/vm/compiler/backend/il_ia32.cc b/runtime/vm/compiler/backend/il_ia32.cc
index 89ec595..07851c4 100644
--- a/runtime/vm/compiler/backend/il_ia32.cc
+++ b/runtime/vm/compiler/backend/il_ia32.cc
@@ -2683,42 +2683,6 @@
__ Bind(&no_call);
}
-LocationSummary* InitStaticFieldInstr::MakeLocationSummary(Zone* zone,
- bool opt) const {
- const intptr_t kNumInputs = 0;
- const intptr_t kNumTemps = 1;
- LocationSummary* locs = new (zone)
- LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
- locs->set_temp(0, Location::RegisterLocation(ECX));
- return locs;
-}
-
-void InitStaticFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
- Register temp = locs()->temp(0).reg();
-
- compiler::Label call_runtime, no_call;
-
- __ movl(temp,
- compiler::Address(
- THR, compiler::target::Thread::field_table_values_offset()));
- // Note: static fields ids won't be changed by hot-reload.
- __ movl(temp, compiler::Address(
- temp, compiler::target::FieldTable::OffsetOf(field())));
- __ CompareObject(temp, Object::sentinel());
- __ j(EQUAL, &call_runtime);
-
- __ CompareObject(temp, Object::transition_sentinel());
- __ j(NOT_EQUAL, &no_call);
-
- __ Bind(&call_runtime);
- __ PushObject(Object::null_object()); // Make room for (unused) result.
- __ PushObject(Field::ZoneHandle(field().Original()));
- compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
- kInitStaticFieldRuntimeEntry, 1, locs());
- __ Drop(2); // Remove argument and unused result.
- __ Bind(&no_call);
-}
-
LocationSummary* CloneContextInstr::MakeLocationSummary(Zone* zone,
bool opt) const {
const intptr_t kNumInputs = 1;
diff --git a/runtime/vm/compiler/backend/il_x64.cc b/runtime/vm/compiler/backend/il_x64.cc
index a9c78e1..ddb0a2f 100644
--- a/runtime/vm/compiler/backend/il_x64.cc
+++ b/runtime/vm/compiler/backend/il_x64.cc
@@ -2990,42 +2990,6 @@
__ Bind(&no_call);
}
-LocationSummary* InitStaticFieldInstr::MakeLocationSummary(Zone* zone,
- bool opt) const {
- const intptr_t kNumInputs = 0;
- const intptr_t kNumTemps = 1;
- LocationSummary* locs = new (zone)
- LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
- locs->set_temp(0, Location::RegisterLocation(RCX));
- return locs;
-}
-
-void InitStaticFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
- Register temp = locs()->temp(0).reg();
-
- compiler::Label call_runtime, no_call;
-
- __ movq(temp,
- compiler::Address(
- THR, compiler::target::Thread::field_table_values_offset()));
- // Note: static fields ids won't be changed by hot-reload.
- __ movq(temp, compiler::Address(
- temp, compiler::target::FieldTable::OffsetOf(field())));
- __ CompareObject(temp, Object::sentinel());
- __ j(EQUAL, &call_runtime);
-
- __ CompareObject(temp, Object::transition_sentinel());
- __ j(NOT_EQUAL, &no_call);
-
- __ Bind(&call_runtime);
- __ PushObject(Object::null_object()); // Make room for (unused) result.
- __ PushObject(Field::ZoneHandle(field().Original()));
- compiler->GenerateRuntimeCall(token_pos(), deopt_id(),
- kInitStaticFieldRuntimeEntry, 1, locs());
- __ Drop(2); // Remove argument and unused result.
- __ Bind(&no_call);
-}
-
LocationSummary* CloneContextInstr::MakeLocationSummary(Zone* zone,
bool opt) const {
const intptr_t kNumInputs = 1;
diff --git a/runtime/vm/compiler/compiler_sources.gni b/runtime/vm/compiler/compiler_sources.gni
index 9af4666..fe2e471 100644
--- a/runtime/vm/compiler/compiler_sources.gni
+++ b/runtime/vm/compiler/compiler_sources.gni
@@ -161,6 +161,7 @@
"relocation.h",
"runtime_api.cc",
"runtime_api.h",
+ "stub_code_compiler.cc",
"stub_code_compiler.h",
"stub_code_compiler_arm.cc",
"stub_code_compiler_arm64.cc",
diff --git a/runtime/vm/compiler/stub_code_compiler.cc b/runtime/vm/compiler/stub_code_compiler.cc
new file mode 100644
index 0000000..3e6c845
--- /dev/null
+++ b/runtime/vm/compiler/stub_code_compiler.cc
@@ -0,0 +1,36 @@
+// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+#include "vm/compiler/runtime_api.h"
+#include "vm/globals.h"
+
+#define SHOULD_NOT_INCLUDE_RUNTIME
+
+#include "vm/compiler/stub_code_compiler.h"
+
+#if !defined(DART_PRECOMPILED_RUNTIME)
+
+#include "vm/compiler/assembler/assembler.h"
+
+#define __ assembler->
+
+namespace dart {
+
+namespace compiler {
+
+void StubCodeCompiler::GenerateInitStaticFieldStub(Assembler* assembler) {
+ __ EnterStubFrame();
+ __ PushObject(NullObject()); // Make room for (unused) result.
+ __ PushRegister(InitStaticFieldABI::kFieldReg);
+ __ CallRuntime(kInitStaticFieldRuntimeEntry, /*argument_count=*/1);
+ __ Drop(2);
+ __ LeaveStubFrame();
+ __ Ret();
+}
+
+} // namespace compiler
+
+} // namespace dart
+
+#endif // !defined(DART_PRECOMPILED_RUNTIME)
diff --git a/runtime/vm/constants_arm.h b/runtime/vm/constants_arm.h
index 714db54..8015373 100644
--- a/runtime/vm/constants_arm.h
+++ b/runtime/vm/constants_arm.h
@@ -342,6 +342,11 @@
(1 << kInstanceTypeArgumentsReg) | (1 << kScratchReg);
};
+// ABI for InitStaticFieldStub.
+struct InitStaticFieldABI {
+ static const Register kFieldReg = R0;
+};
+
// TODO(regis): Add ABIs for type testing stubs and is-type test stubs instead
// of reusing the constants of the instantiation stubs ABI.
diff --git a/runtime/vm/constants_arm64.h b/runtime/vm/constants_arm64.h
index 775e670..69dab7e 100644
--- a/runtime/vm/constants_arm64.h
+++ b/runtime/vm/constants_arm64.h
@@ -174,6 +174,11 @@
(1 << kInstanceTypeArgumentsReg) | (1 << kScratchReg);
};
+// ABI for InitStaticFieldStub.
+struct InitStaticFieldABI {
+ static const Register kFieldReg = R0;
+};
+
// TODO(regis): Add ABIs for type testing stubs and is-type test stubs instead
// of reusing the constants of the instantiation stubs ABI.
diff --git a/runtime/vm/constants_ia32.h b/runtime/vm/constants_ia32.h
index 44b45b6..00e1e97 100644
--- a/runtime/vm/constants_ia32.h
+++ b/runtime/vm/constants_ia32.h
@@ -111,6 +111,11 @@
static const Register kFunctionTypeArgumentsReg = ECX;
};
+// ABI for InitStaticFieldStub.
+struct InitStaticFieldABI {
+ static const Register kFieldReg = EAX;
+};
+
typedef uint32_t RegList;
const RegList kAllCpuRegistersList = 0xFF;
diff --git a/runtime/vm/constants_x64.h b/runtime/vm/constants_x64.h
index 2073583..d29a0d4 100644
--- a/runtime/vm/constants_x64.h
+++ b/runtime/vm/constants_x64.h
@@ -155,6 +155,11 @@
(1 << kSubtypeTestCacheReg);
};
+// ABI for InitStaticFieldStub.
+struct InitStaticFieldABI {
+ static const Register kFieldReg = RAX;
+};
+
// Registers used inside the implementation of type testing stubs.
struct TTSInternalRegs {
static const Register kInstanceTypeArgumentsReg = RSI;
diff --git a/runtime/vm/stub_code_list.h b/runtime/vm/stub_code_list.h
index cd45d72..3554661 100644
--- a/runtime/vm/stub_code_list.h
+++ b/runtime/vm/stub_code_list.h
@@ -86,6 +86,7 @@
V(EnterSafepoint) \
V(ExitSafepoint) \
V(CallNativeThroughSafepoint) \
+ V(InitStaticField) \
V(InstantiateTypeArguments) \
V(InstantiateTypeArgumentsMayShareInstantiatorTA) \
V(InstantiateTypeArgumentsMayShareFunctionTA)
diff --git a/sdk/lib/_internal/js_runtime/lib/js_helper.dart b/sdk/lib/_internal/js_runtime/lib/js_helper.dart
index 296c213..338e8cf 100644
--- a/sdk/lib/_internal/js_runtime/lib/js_helper.dart
+++ b/sdk/lib/_internal/js_runtime/lib/js_helper.dart
@@ -3543,3 +3543,12 @@
// Hook to register new browser classes.
// This is currently a no-op in dart2js.
void applyExtension(name, nativeObject) {}
+
+// See tests/compiler/dart2js_extra/platform_environment_variable1_test.dart
+const String testPlatformEnvironmentVariableValue = String.fromEnvironment(
+ 'dart2js.test.platform.environment.variable',
+ defaultValue: 'not-specified');
+
+String testingGetPlatformEnvironmentVariable() {
+ return testPlatformEnvironmentVariableValue;
+}
diff --git a/sdk_nnbd/lib/_internal/js_runtime/lib/js_helper.dart b/sdk_nnbd/lib/_internal/js_runtime/lib/js_helper.dart
index 36a0510..0aaa85c 100644
--- a/sdk_nnbd/lib/_internal/js_runtime/lib/js_helper.dart
+++ b/sdk_nnbd/lib/_internal/js_runtime/lib/js_helper.dart
@@ -3543,3 +3543,12 @@
// Hook to register new browser classes.
// This is currently a no-op in dart2js.
void applyExtension(name, nativeObject) {}
+
+// See tests/compiler/dart2js_extra/platform_environment_variable1_test.dart
+const String testPlatformEnvironmentVariableValue = String.fromEnvironment(
+ 'dart2js.test.platform.environment.variable',
+ defaultValue: 'not-specified');
+
+String testingGetPlatformEnvironmentVariable() {
+ return testPlatformEnvironmentVariableValue;
+}
diff --git a/sdk_nnbd/lib/_internal/js_runtime/lib/rti.dart b/sdk_nnbd/lib/_internal/js_runtime/lib/rti.dart
index 276dd77..40c6a6f 100644
--- a/sdk_nnbd/lib/_internal/js_runtime/lib/rti.dart
+++ b/sdk_nnbd/lib/_internal/js_runtime/lib/rti.dart
@@ -332,7 +332,7 @@
Object? _canonicalRecipe;
static String _getCanonicalRecipe(Rti rti) {
- Object s = rti._canonicalRecipe!;
+ Object? s = rti._canonicalRecipe;
assert(_Utils.isString(s), 'Missing canonical recipe');
return _Utils.asString(s);
}
diff --git a/sdk_nnbd/lib/collection/list.dart b/sdk_nnbd/lib/collection/list.dart
index 94124c5..fdf2f8a 100644
--- a/sdk_nnbd/lib/collection/list.dart
+++ b/sdk_nnbd/lib/collection/list.dart
@@ -262,8 +262,7 @@
int i = this.length;
for (E element in iterable) {
assert(this.length == i || (throw ConcurrentModificationError(this)));
- this.length = i + 1;
- this[i] = element;
+ add(element);
i++;
}
}
@@ -424,6 +423,10 @@
void replaceRange(int start, int end, Iterable<E> newContents) {
RangeError.checkValidRange(start, end, this.length);
+ if (start == this.length) {
+ addAll(newContents);
+ return;
+ }
if (newContents is! EfficientLengthIterable) {
newContents = newContents.toList();
}
@@ -435,12 +438,26 @@
if (removeLength > insertLength) {
_closeGap(insertEnd, end);
}
+ } else if (end == this.length) {
+ int i = start;
+ for (E element in newContents) {
+ if (i < end) {
+ this[i] = element;
+ } else {
+ add(element);
+ }
+ i++;
+ }
} else {
int delta = insertLength - removeLength;
- int newLength = this.length + delta;
+ int oldLength = this.length;
int insertEnd = start + insertLength; // aka. end + delta.
- this.length = newLength;
- this.setRange(insertEnd, newLength, this, end);
+ for (int i = oldLength - delta; i < oldLength; ++i) {
+ add(this[i > 0 ? i : 0]);
+ }
+ if (insertEnd < oldLength) {
+ this.setRange(insertEnd, oldLength, this, end);
+ }
this.setRange(start, insertEnd, newContents);
}
}
@@ -505,21 +522,34 @@
void insertAll(int index, Iterable<E> iterable) {
RangeError.checkValueInInterval(index, 0, length, "index");
+ if (index == length) {
+ addAll(iterable);
+ return;
+ }
if (iterable is! EfficientLengthIterable || identical(iterable, this)) {
iterable = iterable.toList();
}
int insertionLength = iterable.length;
+ if (insertionLength == 0) {
+ return;
+ }
// There might be errors after the length change, in which case the list
// will end up being modified but the operation not complete. Unless we
// always go through a "toList" we can't really avoid that.
- this.length += insertionLength;
+ int oldLength = length;
+ for (int i = oldLength - insertionLength; i < oldLength; ++i) {
+ add(this[i > 0 ? i : 0]);
+ }
if (iterable.length != insertionLength) {
// If the iterable's length is linked to this list's length somehow,
// we can't insert one in the other.
this.length -= insertionLength;
throw ConcurrentModificationError(iterable);
}
- setRange(index + insertionLength, this.length, this, index);
+ int oldCopyStart = index + insertionLength;
+ if (oldCopyStart < oldLength) {
+ setRange(oldCopyStart, oldLength, this, index);
+ }
setAll(index, iterable);
}
diff --git a/tests/compiler/dart2js_extra/platform_environment_variable1_test.dart b/tests/compiler/dart2js_extra/platform_environment_variable1_test.dart
new file mode 100644
index 0000000..35d67bd
--- /dev/null
+++ b/tests/compiler/dart2js_extra/platform_environment_variable1_test.dart
@@ -0,0 +1,12 @@
+// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// SharedOptions=-Ddart2js.test.platform.environment.variable=hello
+
+import 'dart:_js_helper' show testingGetPlatformEnvironmentVariable;
+import 'package:expect/expect.dart';
+
+main() {
+ Expect.equals('hello', testingGetPlatformEnvironmentVariable());
+}
diff --git a/tests/compiler/dart2js_extra/platform_environment_variable2_test.dart b/tests/compiler/dart2js_extra/platform_environment_variable2_test.dart
new file mode 100644
index 0000000..5cb56e9
--- /dev/null
+++ b/tests/compiler/dart2js_extra/platform_environment_variable2_test.dart
@@ -0,0 +1,12 @@
+// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// No -D options.
+
+import 'dart:_js_helper' show testingGetPlatformEnvironmentVariable;
+import 'package:expect/expect.dart';
+
+main() {
+ Expect.equals('not-specified', testingGetPlatformEnvironmentVariable());
+}
diff --git a/tests/corelib/corelib.status b/tests/corelib/corelib.status
index e13f379..00d80ea6 100644
--- a/tests/corelib/corelib.status
+++ b/tests/corelib/corelib.status
@@ -31,8 +31,9 @@
*: SkipByDesign
[ $runtime != none && ($compiler == dart2js || $compiler == dartdevc || $compiler == dartdevk) ]
-int_parse_with_limited_ints_test: Skip # Requires fixed-size int64 support.
-typed_data_with_limited_ints_test: Skip # Requires fixed-size int64 support.
+int_parse_with_limited_ints_test: SkipByDesign # Requires fixed-size int64 support.
+iterable_return_type_int64_test: SkipByDesign # Requires int64 support.
+typed_data_with_limited_ints_test: SkipByDesign # Requires fixed-size int64 support.
[ $arch == simarm || $arch == simarm64 ]
bigint_parse_radix_test: Skip # Issue 31659
@@ -41,8 +42,6 @@
[ $compiler == dartdevc || $compiler == dartdevk ]
bigint_test/03: SkipSlow # modPow is very slow
bigint_test/15: SkipSlow # modPow is very slow
-int_parse_with_limited_ints_test: Skip # Requires fixed-size int64 support.
-typed_data_with_limited_ints_test: Skip # Requires fixed-size int64 support.
uri_parse_test: Slow, Pass
uri_test: Slow, Pass
diff --git a/tests/corelib/error_stack_trace2_test.dart b/tests/corelib/error_stack_trace2_test.dart
index 7437651..47f6a7d 100644
--- a/tests/corelib/error_stack_trace2_test.dart
+++ b/tests/corelib/error_stack_trace2_test.dart
@@ -22,8 +22,7 @@
} catch (e2) {
var e = e2;
hasThrown = true;
- Expect.isTrue(
- e.stackTrace is StackTrace, "$e doesn't have a non-null stack trace");
+ Expect.isTrue(e is StackOverflowError);
}
Expect.isTrue(hasThrown);
}
diff --git a/tests/corelib/iterable_return_type_helper.dart b/tests/corelib/iterable_return_type_helper.dart
new file mode 100644
index 0000000..a5ff565
--- /dev/null
+++ b/tests/corelib/iterable_return_type_helper.dart
@@ -0,0 +1,43 @@
+// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+testIntIterable(iterable) {
+ Expect.isTrue(iterable is Iterable<int>, "${iterable.runtimeType}");
+ Expect.isFalse(iterable is Iterable<String>, "${iterable.runtimeType}");
+}
+
+void testIterable(Iterable<int> iterable, [int depth = 3]) {
+ testIntIterable(iterable);
+ if (depth > 0) {
+ testIterable(iterable.where((x) => true), depth - 1);
+ testIterable(iterable.skip(1), depth - 1);
+ testIterable(iterable.take(1), depth - 1);
+ testIterable(iterable.skipWhile((x) => false), depth - 1);
+ testIterable(iterable.takeWhile((x) => true), depth - 1);
+ testList(iterable.toList(growable: true), depth - 1);
+ testList(iterable.toList(growable: false), depth - 1);
+ testIterable(iterable.toSet(), depth - 1);
+ }
+}
+
+void testList(List<int> list, [int depth = 3]) {
+ testIterable(list, depth);
+ if (depth > 0) {
+ testIterable(list.getRange(0, list.length), depth - 1);
+ testIterable(list.reversed, depth - 1);
+ testMap(list.asMap(), depth - 1);
+ }
+}
+
+void testMap(Map<int, int> map, [int depth = 3]) {
+ Expect.isTrue(map is Map<int, int>);
+ Expect.isFalse(map is Map<int, String>);
+ Expect.isFalse(map is Map<String, int>);
+ if (depth > 0) {
+ testIterable(map.keys, depth - 1);
+ testIterable(map.values, depth - 1);
+ }
+}
diff --git a/tests/corelib/iterable_return_type_int64_test.dart b/tests/corelib/iterable_return_type_int64_test.dart
new file mode 100644
index 0000000..1279a25
--- /dev/null
+++ b/tests/corelib/iterable_return_type_int64_test.dart
@@ -0,0 +1,16 @@
+// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Separate test for int64 support to be skipped on the web.
+
+import 'iterable_return_type_helper.dart';
+
+import 'dart:collection';
+import 'dart:typed_data';
+
+main() {
+ // Types for int64 support
+ testList(new Uint64List(1)..[0] = 1);
+ testList(new Int64List(1)..[0] = 1);
+}
diff --git a/tests/corelib/iterable_return_type_test.dart b/tests/corelib/iterable_return_type_test.dart
index 9be3513..18aafb3 100644
--- a/tests/corelib/iterable_return_type_test.dart
+++ b/tests/corelib/iterable_return_type_test.dart
@@ -5,72 +5,30 @@
// Regression test for dart2js where [List.addAll] was not typed
// correctly.
-import "package:expect/expect.dart";
+import 'iterable_return_type_helper.dart';
import 'dart:collection';
import 'dart:typed_data';
-testIntIterable(iterable) {
- Expect.isTrue(iterable is Iterable<int>, "${iterable.runtimeType}");
- Expect.isFalse(iterable is Iterable<String>, "${iterable.runtimeType}");
-}
-
-void testIterable(Iterable<int> iterable, [int depth = 3]) {
- testIntIterable(iterable);
- if (depth > 0) {
- testIterable(iterable.where((x) => true), depth - 1);
- testIterable(iterable.skip(1), depth - 1);
- testIterable(iterable.take(1), depth - 1);
- testIterable(iterable.skipWhile((x) => false), depth - 1);
- testIterable(iterable.takeWhile((x) => true), depth - 1);
- testList(iterable.toList(growable: true), depth - 1);
- testList(iterable.toList(growable: false), depth - 1);
- testIterable(iterable.toSet(), depth - 1);
- }
-}
-
-void testList(List<int> list, [int depth = 3]) {
- testIterable(list, depth);
- if (depth > 0) {
- testIterable(list.getRange(0, list.length), depth - 1);
- testIterable(list.reversed, depth - 1);
- testMap(list.asMap(), depth - 1);
- }
-}
-
-void testMap(Map<int, int> map, [int depth = 3]) {
- Expect.isTrue(map is Map<int, int>);
- Expect.isFalse(map is Map<int, String>);
- Expect.isFalse(map is Map<String, int>);
- if (depth > 0) {
- testIterable(map.keys, depth - 1);
- testIterable(map.values, depth - 1);
- }
-}
-
main() {
// Empty lists.
testList(<int>[]);
testList(new List<int>.empty());
- testList(new List<int>());
testList(const <int>[]);
testList(new List<int>.generate(0, (x) => x + 1));
// Singleton lists.
testList(<int>[1]);
testList(new List<int>.filled(1, 1));
- testList(new List<int>()..add(1));
testList(const <int>[1]);
testList(new List<int>.generate(1, (x) => x + 1));
// Typed lists.
- testList(new Uint8List(1)..[0] = 1); // //# 01: ok
- testList(new Int8List(1)..[0] = 1); // //# 01: continued
- testList(new Uint16List(1)..[0] = 1); // //# 01: continued
- testList(new Int16List(1)..[0] = 1); // //# 01: continued
- testList(new Uint32List(1)..[0] = 1); // //# 01: continued
- testList(new Int32List(1)..[0] = 1); // //# 01: continued
- testList(new Uint64List(1)..[0] = 1); // //# 02: ok
- testList(new Int64List(1)..[0] = 1); // //# 02: continued
+ testList(new Uint8List(1)..[0] = 1);
+ testList(new Int8List(1)..[0] = 1);
+ testList(new Uint16List(1)..[0] = 1);
+ testList(new Int16List(1)..[0] = 1);
+ testList(new Uint32List(1)..[0] = 1);
+ testList(new Int32List(1)..[0] = 1);
testIterable(new Set<int>()..add(1));
testIterable(new HashSet<int>()..add(1));
diff --git a/tests/corelib/list_insert_all_test.dart b/tests/corelib/list_insert_all_test.dart
index d089dc8..ea0b61f 100644
--- a/tests/corelib/list_insert_all_test.dart
+++ b/tests/corelib/list_insert_all_test.dart
@@ -34,6 +34,10 @@
list[index] = val;
}
+ void add(T element) {
+ list.add(element);
+ }
+
toString() => list.toString();
}
@@ -74,6 +78,11 @@
test(new MyList([1, 2, 3]), 3, [4, 5].map((x) => x));
test(new MyList([1, 2, 3]), 2, [4].map((x) => x));
test(new MyList([1, 2, 3]), 3, [].map((x) => x));
+ test(new MyList([]), 0, []);
+ test(new MyList([]), 0, [4]);
+ test(new MyList([]), 0, [4, 5]);
+ test(new MyList([1]), 0, [4, 5]);
+ test(new MyList([1]), 1, [4, 5]);
Expect.throwsRangeError(() => test([1, 2, 3], -1, [4, 5]));
Expect.throwsUnsupportedError(
diff --git a/tests/corelib/list_replace_range_test.dart b/tests/corelib/list_replace_range_test.dart
index 964ed44..59baafe 100644
--- a/tests/corelib/list_replace_range_test.dart
+++ b/tests/corelib/list_replace_range_test.dart
@@ -35,6 +35,10 @@
list[index] = val;
}
+ void add(T element) {
+ list.add(element);
+ }
+
toString() => list.toString();
}
@@ -93,6 +97,11 @@
test(new MyList([1, 2, 3]), 3, 3, new Iterable.generate(2, (x) => x + 4));
test(new MyList([1, 2, 3]), 0, 3, new Iterable.generate(2, (x) => x + 4));
test(new MyList([1, 2, 3]), 2, 3, new Iterable.generate(2, (x) => x + 4));
+ test(new MyList([]), 0, 0, []);
+ test(new MyList([]), 0, 0, [4]);
+ test(new MyList([]), 0, 0, [4, 5]);
+ test(new MyList([1]), 0, 1, [4, 5]);
+ test(new MyList([1]), 1, 1, [4, 5]);
Expect.throwsRangeError(() => test([1, 2, 3], -1, 0, []));
Expect.throwsRangeError(() => test([1, 2, 3], 2, 1, []));
diff --git a/tests/corelib_2/corelib_2.status b/tests/corelib_2/corelib_2.status
index 1a9dbcd..b47a5b6 100644
--- a/tests/corelib_2/corelib_2.status
+++ b/tests/corelib_2/corelib_2.status
@@ -34,8 +34,9 @@
*: SkipByDesign
[ $runtime != none && ($compiler == dart2js || $compiler == dartdevc || $compiler == dartdevk) ]
-int_parse_with_limited_ints_test: Skip # Requires fixed-size int64 support.
-typed_data_with_limited_ints_test: Skip # Requires fixed-size int64 support.
+int_parse_with_limited_ints_test: SkipByDesign # Requires fixed-size int64 support.
+iterable_return_type_int64_test: SkipByDesign # Requires int64 support.
+typed_data_with_limited_ints_test: SkipByDesign # Requires fixed-size int64 support.
[ $arch == simarm || $arch == simarm64 ]
bigint_parse_radix_test: Skip # Issue 31659
@@ -44,8 +45,6 @@
[ $compiler == dartdevc || $compiler == dartdevk ]
bigint_test/03: SkipSlow # modPow is very slow
bigint_test/15: SkipSlow # modPow is very slow
-int_parse_with_limited_ints_test: Skip # Requires fixed-size int64 support.
-typed_data_with_limited_ints_test: Skip # Requires fixed-size int64 support.
uri_parse_test: Slow, Pass
uri_test: Slow, Pass
diff --git a/tests/corelib_2/iterable_return_type_helper.dart b/tests/corelib_2/iterable_return_type_helper.dart
new file mode 100644
index 0000000..a5ff565
--- /dev/null
+++ b/tests/corelib_2/iterable_return_type_helper.dart
@@ -0,0 +1,43 @@
+// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+testIntIterable(iterable) {
+ Expect.isTrue(iterable is Iterable<int>, "${iterable.runtimeType}");
+ Expect.isFalse(iterable is Iterable<String>, "${iterable.runtimeType}");
+}
+
+void testIterable(Iterable<int> iterable, [int depth = 3]) {
+ testIntIterable(iterable);
+ if (depth > 0) {
+ testIterable(iterable.where((x) => true), depth - 1);
+ testIterable(iterable.skip(1), depth - 1);
+ testIterable(iterable.take(1), depth - 1);
+ testIterable(iterable.skipWhile((x) => false), depth - 1);
+ testIterable(iterable.takeWhile((x) => true), depth - 1);
+ testList(iterable.toList(growable: true), depth - 1);
+ testList(iterable.toList(growable: false), depth - 1);
+ testIterable(iterable.toSet(), depth - 1);
+ }
+}
+
+void testList(List<int> list, [int depth = 3]) {
+ testIterable(list, depth);
+ if (depth > 0) {
+ testIterable(list.getRange(0, list.length), depth - 1);
+ testIterable(list.reversed, depth - 1);
+ testMap(list.asMap(), depth - 1);
+ }
+}
+
+void testMap(Map<int, int> map, [int depth = 3]) {
+ Expect.isTrue(map is Map<int, int>);
+ Expect.isFalse(map is Map<int, String>);
+ Expect.isFalse(map is Map<String, int>);
+ if (depth > 0) {
+ testIterable(map.keys, depth - 1);
+ testIterable(map.values, depth - 1);
+ }
+}
diff --git a/tests/corelib_2/iterable_return_type_int64_test.dart b/tests/corelib_2/iterable_return_type_int64_test.dart
new file mode 100644
index 0000000..1279a25
--- /dev/null
+++ b/tests/corelib_2/iterable_return_type_int64_test.dart
@@ -0,0 +1,16 @@
+// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Separate test for int64 support to be skipped on the web.
+
+import 'iterable_return_type_helper.dart';
+
+import 'dart:collection';
+import 'dart:typed_data';
+
+main() {
+ // Types for int64 support
+ testList(new Uint64List(1)..[0] = 1);
+ testList(new Int64List(1)..[0] = 1);
+}
diff --git a/tests/corelib_2/iterable_return_type_test.dart b/tests/corelib_2/iterable_return_type_test.dart
index 257a574..148f8fd 100644
--- a/tests/corelib_2/iterable_return_type_test.dart
+++ b/tests/corelib_2/iterable_return_type_test.dart
@@ -5,49 +5,11 @@
// Regression test for dart2js where [List.addAll] was not typed
// correctly.
-import "package:expect/expect.dart";
+import 'iterable_return_type_helper.dart';
import 'dart:collection';
import 'dart:typed_data';
-testIntIterable(iterable) {
- Expect.isTrue(iterable is Iterable<int>, "${iterable.runtimeType}");
- Expect.isFalse(iterable is Iterable<String>, "${iterable.runtimeType}");
-}
-
-void testIterable(Iterable<int> iterable, [int depth = 3]) {
- testIntIterable(iterable);
- if (depth > 0) {
- testIterable(iterable.where((x) => true), depth - 1);
- testIterable(iterable.skip(1), depth - 1);
- testIterable(iterable.take(1), depth - 1);
- testIterable(iterable.skipWhile((x) => false), depth - 1);
- testIterable(iterable.takeWhile((x) => true), depth - 1);
- testList(iterable.toList(growable: true), depth - 1);
- testList(iterable.toList(growable: false), depth - 1);
- testIterable(iterable.toSet(), depth - 1);
- }
-}
-
-void testList(List<int> list, [int depth = 3]) {
- testIterable(list, depth);
- if (depth > 0) {
- testIterable(list.getRange(0, list.length), depth - 1);
- testIterable(list.reversed, depth - 1);
- testMap(list.asMap(), depth - 1);
- }
-}
-
-void testMap(Map<int, int> map, [int depth = 3]) {
- Expect.isTrue(map is Map<int, int>);
- Expect.isFalse(map is Map<int, String>);
- Expect.isFalse(map is Map<String, int>);
- if (depth > 0) {
- testIterable(map.keys, depth - 1);
- testIterable(map.values, depth - 1);
- }
-}
-
main() {
// Empty lists.
testList(<int>[]);
@@ -63,14 +25,12 @@
testList(new List<int>.generate(1, (x) => x + 1));
// Typed lists.
- testList(new Uint8List(1)..[0] = 1); // //# 01: ok
- testList(new Int8List(1)..[0] = 1); // //# 01: continued
- testList(new Uint16List(1)..[0] = 1); // //# 01: continued
- testList(new Int16List(1)..[0] = 1); // //# 01: continued
- testList(new Uint32List(1)..[0] = 1); // //# 01: continued
- testList(new Int32List(1)..[0] = 1); // //# 01: continued
- testList(new Uint64List(1)..[0] = 1); // //# 02: ok
- testList(new Int64List(1)..[0] = 1); // //# 02: continued
+ testList(new Uint8List(1)..[0] = 1);
+ testList(new Int8List(1)..[0] = 1);
+ testList(new Uint16List(1)..[0] = 1);
+ testList(new Int16List(1)..[0] = 1);
+ testList(new Uint32List(1)..[0] = 1);
+ testList(new Int32List(1)..[0] = 1);
testIterable(new Set<int>()..add(1));
testIterable(new HashSet<int>()..add(1));
diff --git a/tests/language/bool/check_test.dart b/tests/language/bool/check_strong_test.dart
similarity index 92%
rename from tests/language/bool/check_test.dart
rename to tests/language/bool/check_strong_test.dart
index b26eba7..bafdb47 100644
--- a/tests/language/bool/check_test.dart
+++ b/tests/language/bool/check_strong_test.dart
@@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+// Requirements=nnbd-strong
+
import "package:expect/expect.dart";
main() {
diff --git a/tests/language/bool/check_test.dart b/tests/language/bool/check_weak_test.dart
similarity index 85%
copy from tests/language/bool/check_test.dart
copy to tests/language/bool/check_weak_test.dart
index b26eba7..ab20690 100644
--- a/tests/language/bool/check_test.dart
+++ b/tests/language/bool/check_weak_test.dart
@@ -2,10 +2,12 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+// Requirements=nnbd-weak
+
import "package:expect/expect.dart";
main() {
- Expect.throwsTypeError(() {
+ Expect.throwsAssertionError(() {
if (null as dynamic) {}
});
diff --git a/tests/language/bool/condition_check_test.dart b/tests/language/bool/condition_check_strong_test.dart
similarity index 96%
rename from tests/language/bool/condition_check_test.dart
rename to tests/language/bool/condition_check_strong_test.dart
index dd648c7..6547135 100644
--- a/tests/language/bool/condition_check_test.dart
+++ b/tests/language/bool/condition_check_strong_test.dart
@@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+// Requirements=nnbd-strong
+
// Check that passing `null` for a boolean typed parameter will still cause
// a boolean conversion error when used in a condition.
diff --git a/tests/language/bool/condition_check_test.dart b/tests/language/bool/condition_check_weak_test.dart
similarity index 87%
copy from tests/language/bool/condition_check_test.dart
copy to tests/language/bool/condition_check_weak_test.dart
index dd648c7..761069b 100644
--- a/tests/language/bool/condition_check_test.dart
+++ b/tests/language/bool/condition_check_weak_test.dart
@@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+// Requirements=nnbd-weak
+
// Check that passing `null` for a boolean typed parameter will still cause
// a boolean conversion error when used in a condition.
@@ -20,5 +22,5 @@
}
main() {
- Expect.throwsTypeError(() => new Class(a: null, b: null).field);
+ Expect.throwsAssertionError(() => new Class(a: null, b: null).field);
}
diff --git a/tests/language/cascade/cascade2_test.dart b/tests/language/cascade/cascade2_test.dart
new file mode 100644
index 0000000..4121667
--- /dev/null
+++ b/tests/language/cascade/cascade2_test.dart
@@ -0,0 +1,28 @@
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Regression test for dart2js that used to hit an assertion in the
+// container tracer visitor in the presence of cascaded calls.
+
+import "package:expect/expect.dart";
+
+class A {
+ var foo;
+
+ add(list) {
+ foo = list;
+ list.add(2.5);
+ return this;
+ }
+
+ call(arg) => arg;
+}
+
+main() {
+ var foo = <dynamic>[42, 0];
+ var a = new A();
+ var bar = a..add(foo)('WHAT');
+ a..foo[0] = new Object();
+ Expect.throwsNoSuchMethodError(() => foo[0] + 2);
+}
diff --git a/tests/language/cascade/cascade3_test.dart b/tests/language/cascade/cascade3_test.dart
new file mode 100644
index 0000000..e4ee77f
--- /dev/null
+++ b/tests/language/cascade/cascade3_test.dart
@@ -0,0 +1,63 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+// Test cascades, issues 7494 (vm), 7689 (dart2js).
+
+main() {
+ var a = new Element(null);
+ Expect.equals(1, a.path0.length);
+ Expect.equals(a, a.path0[0]);
+
+ // Issue 7693: e0 ? e1 : e2..f() parses as (e0 ? e1 : e2)..f().
+ Expect.equals(2, a.path1.length);
+ Expect.equals(a, a.path1[0]);
+ Expect.equals(a, a.path1[1]);
+
+ Expect.equals(1, a.path2.length); // NPE.
+
+ var b = new Element(a);
+ Expect.equals(2, b.path0.length);
+ Expect.equals(a, b.path0[0]);
+ Expect.equals(b, b.path0[1]);
+
+ Expect.equals(3, b.path1.length);
+ Expect.equals(a, b.path1[0]);
+ Expect.equals(a, b.path1[1]);
+ Expect.equals(b, b.path1[2]);
+
+ Expect.equals(2, b.path2.length); // NPE.
+
+ // Regression test for dartdevc comma expressions (js_ast printer did not
+ // generate parentheses around the comma expression).
+ var expectedList = [3, 2, 1];
+ for (var actual in expectedList.toList()..sort()) {
+ Expect.equals(
+ expectedList.removeLast(), actual, "list items should be sorted");
+ }
+}
+
+class Element {
+ final Element? parent;
+
+ Element(this.parent);
+
+ List<Element> get path0 {
+ if (parent == null) {
+ return <Element>[this];
+ } else {
+ return parent!.path0..add(this);
+ }
+ }
+
+ List<Element> get path1 {
+ return (parent == null) ? <Element>[this] : parent!.path1
+ ..add(this);
+ }
+
+ List<Element> get path2 {
+ return (parent == null) ? <Element>[this] : (parent!.path2..add(this));
+ }
+}
diff --git a/tests/language/cascade/cascade_test.dart b/tests/language/cascade/cascade_test.dart
new file mode 100644
index 0000000..274b23bf
--- /dev/null
+++ b/tests/language/cascade/cascade_test.dart
@@ -0,0 +1,103 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+// Test cascades.
+
+class A {
+ int x;
+ int y;
+
+ A(this.x, this.y);
+
+ A setX(int x) {
+ this.x = x;
+ return this;
+ }
+
+ void setY(int y) {
+ this.y = y;
+ }
+
+ Function swap() {
+ int tmp = x;
+ x = y;
+ y = tmp;
+ return this.swap;
+ }
+
+ void check(int x, int y) {
+ Expect.equals(x, this.x);
+ Expect.equals(y, this.y);
+ }
+
+ operator [](var i) {
+ if (i == 0) return x;
+ if (i == 1) return y;
+ if (i == "swap") return this.swap;
+ return null;
+ }
+
+ operator []=(int i, int value) {
+ if (i == 0) {
+ x = value;
+ } else if (i == 1) {
+ y = value;
+ }
+ }
+
+ /**
+ * A pseudo-keyword.
+ */
+ import() {
+ x++;
+ }
+}
+
+main() {
+ A a = new A(1, 2);
+ a
+ ..check(1, 2)
+ ..swap()
+ ..check(2, 1)
+ ..x = 4
+ ..y = 9
+ ..check(4, 9)
+ ..setX(10)
+ ..check(10, 9)
+ ..y = 5
+ ..check(10, 5)
+ ..swap()()()
+ ..check(5, 10)
+ ..[0] = 2
+ ..check(2, 10)
+ ..setX(10).setY(3)
+ ..check(10, 3)
+ ..setX(7)["swap"]()
+ ..check(3, 7)
+ ..import()
+ ..check(4, 7)
+ ..["swap"]()()()
+ ..check(7, 4);
+ a.check(7, 4);
+ a..(42);
+ // ^
+ // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+ // [cfe] Expected an identifier, but got ''.
+ // ^
+ // [cfe] Expected an identifier, but got '('.
+ a..37;
+ // ^^
+ // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+ // [cfe] Expected an identifier, but got '37'.
+ // [error line 91, column 8, length 0]
+ // [analyzer] STATIC_TYPE_WARNING.UNDEFINED_GETTER
+ a.."foo";
+ // ^^^^^
+ // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+ // [cfe] Expected an identifier, but got '"foo"'.
+ // [error line 97, column 11, length 0]
+ // [analyzer] STATIC_TYPE_WARNING.UNDEFINED_GETTER
+}
diff --git a/tests/language/cascade/in_expression_function_test.dart b/tests/language/cascade/in_expression_function_test.dart
new file mode 100644
index 0000000..88f9529
--- /dev/null
+++ b/tests/language/cascade/in_expression_function_test.dart
@@ -0,0 +1,26 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// Dart test program for testing throw statement
+
+import "package:expect/expect.dart";
+
+makeMap() => new Map()
+ ..[3] = 4
+ ..[0] = 11;
+
+class MyClass {
+ foo() => this
+ ..bar(3)
+ ..baz(4);
+ bar(x) => x;
+ baz(y) => y * 2;
+}
+
+main() {
+ var o = new MyClass();
+ Expect.equals(o.foo(), o);
+ var g = makeMap();
+ Expect.equals(g[3], 4);
+ Expect.equals(g[0], 11);
+}
diff --git a/tests/language/cascade/in_initializer_list_test.dart b/tests/language/cascade/in_initializer_list_test.dart
new file mode 100644
index 0000000..37da002
--- /dev/null
+++ b/tests/language/cascade/in_initializer_list_test.dart
@@ -0,0 +1,29 @@
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+class A {
+ foo() {}
+ bar() {}
+}
+
+class B {
+ var x;
+ final y;
+
+ B(a)
+ : x = a
+ ..foo()
+ ..bar(),
+ y = a
+ ..foo()
+ ..bar() {}
+}
+
+main() {
+ var a = new A(), b = new B(a);
+ Expect.equals(a, b.x);
+ Expect.equals(a, b.y);
+}
diff --git a/tests/language/cascade/nested_test.dart b/tests/language/cascade/nested_test.dart
new file mode 100644
index 0000000..e0d8649
--- /dev/null
+++ b/tests/language/cascade/nested_test.dart
@@ -0,0 +1,24 @@
+// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+class Foo {
+ int x = 0;
+}
+
+class Bar {
+ late Foo foo;
+ int y = 0;
+}
+
+main() {
+ var bar = new Bar()
+ ..foo = (new Foo()..x = 42)
+ ..y = 38;
+ Expect.isTrue(bar is Bar);
+ Expect.isTrue(bar.foo is Foo);
+ Expect.equals(bar.foo.x, 42);
+ Expect.equals(bar.y, 38);
+}
diff --git a/tests/language/cascade/on_static_field_test.dart b/tests/language/cascade/on_static_field_test.dart
new file mode 100644
index 0000000..e92212f
--- /dev/null
+++ b/tests/language/cascade/on_static_field_test.dart
@@ -0,0 +1,9 @@
+// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+final List<String> list = []..add("foo")..add("bar")..add("baz");
+
+main() {
+ print(list);
+}
diff --git a/tests/language/cascade/precedence_test.dart b/tests/language/cascade/precedence_test.dart
new file mode 100644
index 0000000..5c90de4
--- /dev/null
+++ b/tests/language/cascade/precedence_test.dart
@@ -0,0 +1,183 @@
+// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+class A {
+ int value;
+ A(this.value);
+ void set(int value) {
+ this.value = value;
+ }
+
+ int get() => value;
+ int operator [](int index) => value + index;
+ void operator []=(int index, int newValue) {
+ value += -index + newValue;
+ }
+
+ void test(int expected) {
+ Expect.equals(expected, value);
+ }
+
+ Function limp(int n) {
+ if (n == 0) return set;
+ return () => limp(n - 1);
+ }
+
+ A get self => this;
+ A operator +(A other) {
+ this.value += other.value;
+ return this;
+ }
+}
+
+class Box {
+ A value;
+ Box(this.value);
+ A operator [](int pos) => value;
+ void operator []=(int pos, A a) {
+ value = a;
+ }
+
+ A get x => value;
+ void set x(A a) {
+ value = a;
+ }
+}
+
+// Subset of grammar being tested.
+//
+// expression:
+// assignableExpression assignmentOperator expression
+// | conditionalExpression cascadeSection*
+// ;
+// expressionWithoutCascade:
+// assignableExpression assignmentOperator expressionWithoutCascade
+// | conditionalExpression
+// ;
+// expressionList:
+// expression (',' expression)*
+// ;
+// assignableExpression:
+// primary (arguments* assignableSelector)+
+// | super assignableSelector
+// | identifier
+// ;
+// conditionalExpression:
+// logicalOrExpression ('?' expressionWithoutCascade ':' expressionWithoutCascade)?
+// ;
+// primary:
+// thisExpression
+// | super assignableSelector
+// | functionExpression
+// | literal
+// | identifier
+// | newExpression
+// | constObjectExpression
+// | '(' expression ')'
+// ;
+// assignableSelector:
+// '[' expression ']'
+// | '.' identifier
+// ;
+//
+// In words:
+// An assignableExpression is either a variable or something ending in
+// [expression] or .identifier.
+
+main() {
+ A a = new A(42);
+ A original = a;
+ A b = new A(87);
+ fa() => a;
+ Box box = new Box(a);
+ // Different expressions on the left-hand side of '..'.
+ // conditionalExpression >> postfixExpression > primary selector*
+ Expect.equals(
+ a,
+ a
+ ..set(37)
+ ..get());
+ a.test(37);
+ Expect.equals(
+ a,
+ fa()
+ ..set(42)
+ ..get());
+ a.test(42);
+ Expect.equals(
+ a,
+ box.x
+ ..set(37)
+ ..get());
+ a.test(37);
+ // '..' binds to 'b + a', i.e., to the 'b' object, not to 'a'.
+ Expect.equals(
+ b,
+ b + a
+ ..test(124)
+ ..set(117)
+ ..get());
+ b.test(117);
+ a.test(37);
+
+ // expression :: conditionalExpression cascadeSection
+ // and conditionalExpression ends in expressionWithoutCascade.
+ // I.e., '..' binds to the entire condition expression, not to 'b'.
+ (a.value == 37) ? a : b
+ ..set(42);
+ a.test(42);
+
+ // This binds .. to 'a', not 'c=a', and performs assignment after reading
+ // c.get().
+ A c = new A(21);
+ c = a..set(c.get()); // FAILING.
+ Expect.equals(a, c);
+ Expect.equals(original, a);
+ a.test(21); // Fails as 42 if above is parsed as (c = a)..set(c.get()).
+
+ // Should be parsed as (box..x = (c = a))..x.test(21).
+ c = A(-1);
+ box
+ ..x = c = a
+ ..x.test(21);
+ c.test(21);
+ // Other variants
+ c = A(-1);
+ box
+ ..x = c = (a..test(21))
+ ..x.test(21);
+ c.test(21);
+
+ c = A(-1);
+ box
+ ..x = (c = a..test(21))
+ ..x.test(21);
+ c.test(21);
+
+ // Should work the same:
+ (a..set(42))..test(42);
+ a
+ ..set(21)
+ ..test(21);
+
+ c = A(-1);
+ Box originalBox = box;
+ // Should parse as:
+ // box = (box..x = (a.value == 21 ? b : c)..x.test(117));
+ box = box
+ ..x = a.value == 21 ? b : c
+ ..x.test(117);
+ Expect.equals(originalBox, box);
+ Expect.equals(box.value, b);
+
+ // New cascades are allowed inside an expressionWithoutCascade if properly
+ // delimited.
+ box
+ ..x = (a
+ ..set(42)
+ ..test(42))
+ ..x.test(42);
+}
diff --git a/tests/language/cascade/runtime_test.dart b/tests/language/cascade/runtime_test.dart
new file mode 100644
index 0000000..9357093
--- /dev/null
+++ b/tests/language/cascade/runtime_test.dart
@@ -0,0 +1,91 @@
+// TODO(multitest): This was automatically migrated from a multitest and may
+// contain strange or dead code.
+
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+// Test cascades.
+
+class A {
+ int x;
+ int y;
+
+ A(this.x, this.y);
+
+ A setX(int x) {
+ this.x = x;
+ return this;
+ }
+
+ void setY(int y) {
+ this.y = y;
+ }
+
+ Function swap() {
+ int tmp = x;
+ x = y;
+ y = tmp;
+ return this.swap;
+ }
+
+ void check(int x, int y) {
+ Expect.equals(x, this.x);
+ Expect.equals(y, this.y);
+ }
+
+ operator [](var i) {
+ if (i == 0) return x;
+ if (i == 1) return y;
+ if (i == "swap") return this.swap;
+ return null;
+ }
+
+ operator []=(int i, int value) {
+ if (i == 0) {
+ x = value;
+ } else if (i == 1) {
+ y = value;
+ }
+ }
+
+ /**
+ * A pseudo-keyword.
+ */
+ import() {
+ x++;
+ }
+}
+
+main() {
+ A a = new A(1, 2);
+ a
+ ..check(1, 2)
+ ..swap()
+ ..check(2, 1)
+ ..x = 4
+ ..y = 9
+ ..check(4, 9)
+ ..setX(10)
+ ..check(10, 9)
+ ..y = 5
+ ..check(10, 5)
+ ..swap()()()
+ ..check(5, 10)
+ ..[0] = 2
+ ..check(2, 10)
+ ..setX(10).setY(3)
+ ..check(10, 3)
+ ..setX(7)["swap"]()
+ ..check(3, 7)
+ ..import()
+ ..check(4, 7)
+ ..["swap"]()()()
+ ..check(7, 4);
+ a.check(7, 4);
+
+
+
+}
diff --git a/tests/language/class/additional_interface_adds_optional_args_concrete_subclass_test.dart b/tests/language/class/additional_interface_adds_optional_args_concrete_subclass_test.dart
new file mode 100644
index 0000000..523a972
--- /dev/null
+++ b/tests/language/class/additional_interface_adds_optional_args_concrete_subclass_test.dart
@@ -0,0 +1,31 @@
+// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+class A {
+ void foo() {}
+}
+
+abstract class I {
+ void foo([x]);
+}
+
+abstract class B extends A implements I {
+ // If this class were concrete, there would be a problem, since `new
+ // B().foo(42)` would be statically allowed, but would lead to invalid
+ // arguments being passed to A.foo. But since the class is abstract, there is
+ // no problem.
+}
+
+class /*@compile-error=unspecified*/ C extends B {
+ // However, there is a problem here because this class is concrete and doesn't
+ // override foo.
+}
+
+void f(B b) {
+ b.foo();
+}
+
+main() {
+ f(new C());
+}
diff --git a/tests/language/class/class_test.dart b/tests/language/class/class_test.dart
new file mode 100644
index 0000000..85a87d9
--- /dev/null
+++ b/tests/language/class/class_test.dart
@@ -0,0 +1,177 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+// Tests basic classes and methods.
+class ClassTest {
+ ClassTest() {}
+
+ static testMain() {
+ var test = new ClassTest();
+ test.testSuperCalls();
+ test.testVirtualCalls();
+ test.testStaticCalls();
+ test.testInheritedField();
+ test.testMemberRefInClosure();
+ test.testFactory();
+ test.testNamedConstructors();
+ test.testDefaultImplementation();
+ test.testFunctionParameter((int a) {
+ return a;
+ });
+ }
+
+ testFunctionParameter(int func(int a)) {
+ Expect.equals(1, func(1));
+ }
+
+ testSuperCalls() {
+ var sub = new Sub();
+ Expect.equals(43, sub.methodX());
+ Expect.equals(84, sub.methodK());
+ }
+
+ testVirtualCalls() {
+ var sub = new Sub();
+ Expect.equals(41, sub.method2());
+ Expect.equals(41, sub.method3());
+ }
+
+ testStaticCalls() {
+ var sub = new Sub();
+ Expect.equals(-42, Sub.method4());
+ Expect.equals(-41, sub.method5());
+ }
+
+ testInheritedField() {
+ var sub = new Sub();
+ Expect.equals(42, sub.method6());
+ }
+
+ testMemberRefInClosure() {
+ var sub = new Sub();
+ Expect.equals(1, sub.closureRef());
+ Expect.equals(2, sub.closureRef());
+ // Make sure it is actually on the object, not the global 'this'.
+ sub = new Sub();
+ Expect.equals(1, sub.closureRef());
+ Expect.equals(2, sub.closureRef());
+ }
+
+ testFactory() {
+ var sup = new Sup.named();
+ Expect.equals(43, sup.methodX());
+ Expect.equals(84, sup.methodK());
+ }
+
+ testNamedConstructors() {
+ var sup = new Sup.fromInt(4);
+ Expect.equals(4, sup.methodX());
+ Expect.equals(0, sup.methodK());
+ }
+
+ testDefaultImplementation() {
+ var x = new Inter(4);
+ Expect.equals(4, x.methodX());
+ Expect.equals(8, x.methodK());
+
+ x = new Inter.fromInt(4);
+ Expect.equals(4, x.methodX());
+ Expect.equals(0, x.methodK());
+
+ x = new Inter.named();
+ Expect.equals(43, x.methodX());
+ Expect.equals(84, x.methodK());
+
+ x = new Inter.factory();
+ Expect.equals(43, x.methodX());
+ Expect.equals(84, x.methodK());
+ }
+}
+
+abstract class Inter {
+ factory Inter.named() = Sup.named;
+ factory Inter.fromInt(int x) = Sup.fromInt;
+ factory Inter(int x) = Sup;
+ factory Inter.factory() = Sup.factory;
+ int methodX();
+ int methodK();
+ int x_ = -1;
+}
+
+class Sup implements Inter {
+ int x_ = -1;
+ int k_ = -1;
+
+ factory Sup.named() {
+ return new Sub();
+ }
+
+ factory Sup.factory() {
+ return new Sub();
+ }
+
+ Sup.fromInt(int x) {
+ x_ = x;
+ k_ = 0;
+ }
+
+ int methodX() {
+ return x_;
+ }
+
+ int methodK() {
+ return k_;
+ }
+
+ Sup(int x) : this.x_ = x {
+ k_ = x * 2;
+ }
+
+ int method2() {
+ return x_ - 1;
+ }
+}
+
+class Sub extends Sup {
+ int y_ = -1;
+
+ // Override
+ int methodX() {
+ return super.methodX() + 1;
+ }
+
+ int method3() {
+ return method2();
+ }
+
+ static int method4() {
+ return -42;
+ }
+
+ int method5() {
+ return method4() + 1;
+ }
+
+ int method6() {
+ return x_ + y_;
+ }
+
+ int closureRef() {
+ var f = () {
+ y_ += 1;
+ return y_;
+ };
+ return f();
+ }
+
+ Sub() : super(42) {
+ y_ = 0;
+ }
+}
+
+main() {
+ ClassTest.testMain();
+}
diff --git a/tests/language/class/classes_static_method_clash_test.dart b/tests/language/class/classes_static_method_clash_test.dart
new file mode 100644
index 0000000..985a0c8
--- /dev/null
+++ b/tests/language/class/classes_static_method_clash_test.dart
@@ -0,0 +1,8167 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+// This methods needs a stub method (because it is used in Function.apply, where
+// we can't see all possible uses).
+// The stub-method(s) must not clash with other global names (like classes).
+foo({a: 499}) => a;
+
+bar(f) {
+ return f();
+ return null;
+}
+
+int confuse(x) {
+ if (new DateTime.now().millisecondsSinceEpoch == 42) confuse(x + 1);
+ return x;
+}
+
+main() {
+ Expect.equals(42, Function.apply(foo, [], {#a: 42}));
+ Expect.equals(499, Function.apply(foo, [], null));
+ print(objects[confuse(0)]);
+}
+
+/*
+The following code has been generated with the following script:
+
+get chars sync* {
+ for (int i = "a".codeUnitAt(0); i <= "z".codeUnitAt(0); i++) {
+ yield new String.fromCharCodes([i]);
+ }
+ for (int i = "A".codeUnitAt(0); i <= "Z".codeUnitAt(0); i++) {
+ yield new String.fromCharCodes([i]);
+ }
+}
+
+main() {
+ StringBuffer classes = new StringBuffer();
+ print("var objects = [");
+ for (String c1 in chars) {
+ for (String c2 in chars) {
+ print(" new C$c1$c2(),");
+ classes.writeln("class C$c1$c2{}");
+ }
+ }
+ print("];");
+ print(classes.toString());
+}
+*/
+
+var objects = [
+ new Caa(),
+ new Cab(),
+ new Cac(),
+ new Cad(),
+ new Cae(),
+ new Caf(),
+ new Cag(),
+ new Cah(),
+ new Cai(),
+ new Caj(),
+ new Cak(),
+ new Cal(),
+ new Cam(),
+ new Can(),
+ new Cao(),
+ new Cap(),
+ new Caq(),
+ new Car(),
+ new Cas(),
+ new Cat(),
+ new Cau(),
+ new Cav(),
+ new Caw(),
+ new Cax(),
+ new Cay(),
+ new Caz(),
+ new CaA(),
+ new CaB(),
+ new CaC(),
+ new CaD(),
+ new CaE(),
+ new CaF(),
+ new CaG(),
+ new CaH(),
+ new CaI(),
+ new CaJ(),
+ new CaK(),
+ new CaL(),
+ new CaM(),
+ new CaN(),
+ new CaO(),
+ new CaP(),
+ new CaQ(),
+ new CaR(),
+ new CaS(),
+ new CaT(),
+ new CaU(),
+ new CaV(),
+ new CaW(),
+ new CaX(),
+ new CaY(),
+ new CaZ(),
+ new Cba(),
+ new Cbb(),
+ new Cbc(),
+ new Cbd(),
+ new Cbe(),
+ new Cbf(),
+ new Cbg(),
+ new Cbh(),
+ new Cbi(),
+ new Cbj(),
+ new Cbk(),
+ new Cbl(),
+ new Cbm(),
+ new Cbn(),
+ new Cbo(),
+ new Cbp(),
+ new Cbq(),
+ new Cbr(),
+ new Cbs(),
+ new Cbt(),
+ new Cbu(),
+ new Cbv(),
+ new Cbw(),
+ new Cbx(),
+ new Cby(),
+ new Cbz(),
+ new CbA(),
+ new CbB(),
+ new CbC(),
+ new CbD(),
+ new CbE(),
+ new CbF(),
+ new CbG(),
+ new CbH(),
+ new CbI(),
+ new CbJ(),
+ new CbK(),
+ new CbL(),
+ new CbM(),
+ new CbN(),
+ new CbO(),
+ new CbP(),
+ new CbQ(),
+ new CbR(),
+ new CbS(),
+ new CbT(),
+ new CbU(),
+ new CbV(),
+ new CbW(),
+ new CbX(),
+ new CbY(),
+ new CbZ(),
+ new Cca(),
+ new Ccb(),
+ new Ccc(),
+ new Ccd(),
+ new Cce(),
+ new Ccf(),
+ new Ccg(),
+ new Cch(),
+ new Cci(),
+ new Ccj(),
+ new Cck(),
+ new Ccl(),
+ new Ccm(),
+ new Ccn(),
+ new Cco(),
+ new Ccp(),
+ new Ccq(),
+ new Ccr(),
+ new Ccs(),
+ new Cct(),
+ new Ccu(),
+ new Ccv(),
+ new Ccw(),
+ new Ccx(),
+ new Ccy(),
+ new Ccz(),
+ new CcA(),
+ new CcB(),
+ new CcC(),
+ new CcD(),
+ new CcE(),
+ new CcF(),
+ new CcG(),
+ new CcH(),
+ new CcI(),
+ new CcJ(),
+ new CcK(),
+ new CcL(),
+ new CcM(),
+ new CcN(),
+ new CcO(),
+ new CcP(),
+ new CcQ(),
+ new CcR(),
+ new CcS(),
+ new CcT(),
+ new CcU(),
+ new CcV(),
+ new CcW(),
+ new CcX(),
+ new CcY(),
+ new CcZ(),
+ new Cda(),
+ new Cdb(),
+ new Cdc(),
+ new Cdd(),
+ new Cde(),
+ new Cdf(),
+ new Cdg(),
+ new Cdh(),
+ new Cdi(),
+ new Cdj(),
+ new Cdk(),
+ new Cdl(),
+ new Cdm(),
+ new Cdn(),
+ new Cdo(),
+ new Cdp(),
+ new Cdq(),
+ new Cdr(),
+ new Cds(),
+ new Cdt(),
+ new Cdu(),
+ new Cdv(),
+ new Cdw(),
+ new Cdx(),
+ new Cdy(),
+ new Cdz(),
+ new CdA(),
+ new CdB(),
+ new CdC(),
+ new CdD(),
+ new CdE(),
+ new CdF(),
+ new CdG(),
+ new CdH(),
+ new CdI(),
+ new CdJ(),
+ new CdK(),
+ new CdL(),
+ new CdM(),
+ new CdN(),
+ new CdO(),
+ new CdP(),
+ new CdQ(),
+ new CdR(),
+ new CdS(),
+ new CdT(),
+ new CdU(),
+ new CdV(),
+ new CdW(),
+ new CdX(),
+ new CdY(),
+ new CdZ(),
+ new Cea(),
+ new Ceb(),
+ new Cec(),
+ new Ced(),
+ new Cee(),
+ new Cef(),
+ new Ceg(),
+ new Ceh(),
+ new Cei(),
+ new Cej(),
+ new Cek(),
+ new Cel(),
+ new Cem(),
+ new Cen(),
+ new Ceo(),
+ new Cep(),
+ new Ceq(),
+ new Cer(),
+ new Ces(),
+ new Cet(),
+ new Ceu(),
+ new Cev(),
+ new Cew(),
+ new Cex(),
+ new Cey(),
+ new Cez(),
+ new CeA(),
+ new CeB(),
+ new CeC(),
+ new CeD(),
+ new CeE(),
+ new CeF(),
+ new CeG(),
+ new CeH(),
+ new CeI(),
+ new CeJ(),
+ new CeK(),
+ new CeL(),
+ new CeM(),
+ new CeN(),
+ new CeO(),
+ new CeP(),
+ new CeQ(),
+ new CeR(),
+ new CeS(),
+ new CeT(),
+ new CeU(),
+ new CeV(),
+ new CeW(),
+ new CeX(),
+ new CeY(),
+ new CeZ(),
+ new Cfa(),
+ new Cfb(),
+ new Cfc(),
+ new Cfd(),
+ new Cfe(),
+ new Cff(),
+ new Cfg(),
+ new Cfh(),
+ new Cfi(),
+ new Cfj(),
+ new Cfk(),
+ new Cfl(),
+ new Cfm(),
+ new Cfn(),
+ new Cfo(),
+ new Cfp(),
+ new Cfq(),
+ new Cfr(),
+ new Cfs(),
+ new Cft(),
+ new Cfu(),
+ new Cfv(),
+ new Cfw(),
+ new Cfx(),
+ new Cfy(),
+ new Cfz(),
+ new CfA(),
+ new CfB(),
+ new CfC(),
+ new CfD(),
+ new CfE(),
+ new CfF(),
+ new CfG(),
+ new CfH(),
+ new CfI(),
+ new CfJ(),
+ new CfK(),
+ new CfL(),
+ new CfM(),
+ new CfN(),
+ new CfO(),
+ new CfP(),
+ new CfQ(),
+ new CfR(),
+ new CfS(),
+ new CfT(),
+ new CfU(),
+ new CfV(),
+ new CfW(),
+ new CfX(),
+ new CfY(),
+ new CfZ(),
+ new Cga(),
+ new Cgb(),
+ new Cgc(),
+ new Cgd(),
+ new Cge(),
+ new Cgf(),
+ new Cgg(),
+ new Cgh(),
+ new Cgi(),
+ new Cgj(),
+ new Cgk(),
+ new Cgl(),
+ new Cgm(),
+ new Cgn(),
+ new Cgo(),
+ new Cgp(),
+ new Cgq(),
+ new Cgr(),
+ new Cgs(),
+ new Cgt(),
+ new Cgu(),
+ new Cgv(),
+ new Cgw(),
+ new Cgx(),
+ new Cgy(),
+ new Cgz(),
+ new CgA(),
+ new CgB(),
+ new CgC(),
+ new CgD(),
+ new CgE(),
+ new CgF(),
+ new CgG(),
+ new CgH(),
+ new CgI(),
+ new CgJ(),
+ new CgK(),
+ new CgL(),
+ new CgM(),
+ new CgN(),
+ new CgO(),
+ new CgP(),
+ new CgQ(),
+ new CgR(),
+ new CgS(),
+ new CgT(),
+ new CgU(),
+ new CgV(),
+ new CgW(),
+ new CgX(),
+ new CgY(),
+ new CgZ(),
+ new Cha(),
+ new Chb(),
+ new Chc(),
+ new Chd(),
+ new Che(),
+ new Chf(),
+ new Chg(),
+ new Chh(),
+ new Chi(),
+ new Chj(),
+ new Chk(),
+ new Chl(),
+ new Chm(),
+ new Chn(),
+ new Cho(),
+ new Chp(),
+ new Chq(),
+ new Chr(),
+ new Chs(),
+ new Cht(),
+ new Chu(),
+ new Chv(),
+ new Chw(),
+ new Chx(),
+ new Chy(),
+ new Chz(),
+ new ChA(),
+ new ChB(),
+ new ChC(),
+ new ChD(),
+ new ChE(),
+ new ChF(),
+ new ChG(),
+ new ChH(),
+ new ChI(),
+ new ChJ(),
+ new ChK(),
+ new ChL(),
+ new ChM(),
+ new ChN(),
+ new ChO(),
+ new ChP(),
+ new ChQ(),
+ new ChR(),
+ new ChS(),
+ new ChT(),
+ new ChU(),
+ new ChV(),
+ new ChW(),
+ new ChX(),
+ new ChY(),
+ new ChZ(),
+ new Cia(),
+ new Cib(),
+ new Cic(),
+ new Cid(),
+ new Cie(),
+ new Cif(),
+ new Cig(),
+ new Cih(),
+ new Cii(),
+ new Cij(),
+ new Cik(),
+ new Cil(),
+ new Cim(),
+ new Cin(),
+ new Cio(),
+ new Cip(),
+ new Ciq(),
+ new Cir(),
+ new Cis(),
+ new Cit(),
+ new Ciu(),
+ new Civ(),
+ new Ciw(),
+ new Cix(),
+ new Ciy(),
+ new Ciz(),
+ new CiA(),
+ new CiB(),
+ new CiC(),
+ new CiD(),
+ new CiE(),
+ new CiF(),
+ new CiG(),
+ new CiH(),
+ new CiI(),
+ new CiJ(),
+ new CiK(),
+ new CiL(),
+ new CiM(),
+ new CiN(),
+ new CiO(),
+ new CiP(),
+ new CiQ(),
+ new CiR(),
+ new CiS(),
+ new CiT(),
+ new CiU(),
+ new CiV(),
+ new CiW(),
+ new CiX(),
+ new CiY(),
+ new CiZ(),
+ new Cja(),
+ new Cjb(),
+ new Cjc(),
+ new Cjd(),
+ new Cje(),
+ new Cjf(),
+ new Cjg(),
+ new Cjh(),
+ new Cji(),
+ new Cjj(),
+ new Cjk(),
+ new Cjl(),
+ new Cjm(),
+ new Cjn(),
+ new Cjo(),
+ new Cjp(),
+ new Cjq(),
+ new Cjr(),
+ new Cjs(),
+ new Cjt(),
+ new Cju(),
+ new Cjv(),
+ new Cjw(),
+ new Cjx(),
+ new Cjy(),
+ new Cjz(),
+ new CjA(),
+ new CjB(),
+ new CjC(),
+ new CjD(),
+ new CjE(),
+ new CjF(),
+ new CjG(),
+ new CjH(),
+ new CjI(),
+ new CjJ(),
+ new CjK(),
+ new CjL(),
+ new CjM(),
+ new CjN(),
+ new CjO(),
+ new CjP(),
+ new CjQ(),
+ new CjR(),
+ new CjS(),
+ new CjT(),
+ new CjU(),
+ new CjV(),
+ new CjW(),
+ new CjX(),
+ new CjY(),
+ new CjZ(),
+ new Cka(),
+ new Ckb(),
+ new Ckc(),
+ new Ckd(),
+ new Cke(),
+ new Ckf(),
+ new Ckg(),
+ new Ckh(),
+ new Cki(),
+ new Ckj(),
+ new Ckk(),
+ new Ckl(),
+ new Ckm(),
+ new Ckn(),
+ new Cko(),
+ new Ckp(),
+ new Ckq(),
+ new Ckr(),
+ new Cks(),
+ new Ckt(),
+ new Cku(),
+ new Ckv(),
+ new Ckw(),
+ new Ckx(),
+ new Cky(),
+ new Ckz(),
+ new CkA(),
+ new CkB(),
+ new CkC(),
+ new CkD(),
+ new CkE(),
+ new CkF(),
+ new CkG(),
+ new CkH(),
+ new CkI(),
+ new CkJ(),
+ new CkK(),
+ new CkL(),
+ new CkM(),
+ new CkN(),
+ new CkO(),
+ new CkP(),
+ new CkQ(),
+ new CkR(),
+ new CkS(),
+ new CkT(),
+ new CkU(),
+ new CkV(),
+ new CkW(),
+ new CkX(),
+ new CkY(),
+ new CkZ(),
+ new Cla(),
+ new Clb(),
+ new Clc(),
+ new Cld(),
+ new Cle(),
+ new Clf(),
+ new Clg(),
+ new Clh(),
+ new Cli(),
+ new Clj(),
+ new Clk(),
+ new Cll(),
+ new Clm(),
+ new Cln(),
+ new Clo(),
+ new Clp(),
+ new Clq(),
+ new Clr(),
+ new Cls(),
+ new Clt(),
+ new Clu(),
+ new Clv(),
+ new Clw(),
+ new Clx(),
+ new Cly(),
+ new Clz(),
+ new ClA(),
+ new ClB(),
+ new ClC(),
+ new ClD(),
+ new ClE(),
+ new ClF(),
+ new ClG(),
+ new ClH(),
+ new ClI(),
+ new ClJ(),
+ new ClK(),
+ new ClL(),
+ new ClM(),
+ new ClN(),
+ new ClO(),
+ new ClP(),
+ new ClQ(),
+ new ClR(),
+ new ClS(),
+ new ClT(),
+ new ClU(),
+ new ClV(),
+ new ClW(),
+ new ClX(),
+ new ClY(),
+ new ClZ(),
+ new Cma(),
+ new Cmb(),
+ new Cmc(),
+ new Cmd(),
+ new Cme(),
+ new Cmf(),
+ new Cmg(),
+ new Cmh(),
+ new Cmi(),
+ new Cmj(),
+ new Cmk(),
+ new Cml(),
+ new Cmm(),
+ new Cmn(),
+ new Cmo(),
+ new Cmp(),
+ new Cmq(),
+ new Cmr(),
+ new Cms(),
+ new Cmt(),
+ new Cmu(),
+ new Cmv(),
+ new Cmw(),
+ new Cmx(),
+ new Cmy(),
+ new Cmz(),
+ new CmA(),
+ new CmB(),
+ new CmC(),
+ new CmD(),
+ new CmE(),
+ new CmF(),
+ new CmG(),
+ new CmH(),
+ new CmI(),
+ new CmJ(),
+ new CmK(),
+ new CmL(),
+ new CmM(),
+ new CmN(),
+ new CmO(),
+ new CmP(),
+ new CmQ(),
+ new CmR(),
+ new CmS(),
+ new CmT(),
+ new CmU(),
+ new CmV(),
+ new CmW(),
+ new CmX(),
+ new CmY(),
+ new CmZ(),
+ new Cna(),
+ new Cnb(),
+ new Cnc(),
+ new Cnd(),
+ new Cne(),
+ new Cnf(),
+ new Cng(),
+ new Cnh(),
+ new Cni(),
+ new Cnj(),
+ new Cnk(),
+ new Cnl(),
+ new Cnm(),
+ new Cnn(),
+ new Cno(),
+ new Cnp(),
+ new Cnq(),
+ new Cnr(),
+ new Cns(),
+ new Cnt(),
+ new Cnu(),
+ new Cnv(),
+ new Cnw(),
+ new Cnx(),
+ new Cny(),
+ new Cnz(),
+ new CnA(),
+ new CnB(),
+ new CnC(),
+ new CnD(),
+ new CnE(),
+ new CnF(),
+ new CnG(),
+ new CnH(),
+ new CnI(),
+ new CnJ(),
+ new CnK(),
+ new CnL(),
+ new CnM(),
+ new CnN(),
+ new CnO(),
+ new CnP(),
+ new CnQ(),
+ new CnR(),
+ new CnS(),
+ new CnT(),
+ new CnU(),
+ new CnV(),
+ new CnW(),
+ new CnX(),
+ new CnY(),
+ new CnZ(),
+ new Coa(),
+ new Cob(),
+ new Coc(),
+ new Cod(),
+ new Coe(),
+ new Cof(),
+ new Cog(),
+ new Coh(),
+ new Coi(),
+ new Coj(),
+ new Cok(),
+ new Col(),
+ new Com(),
+ new Con(),
+ new Coo(),
+ new Cop(),
+ new Coq(),
+ new Cor(),
+ new Cos(),
+ new Cot(),
+ new Cou(),
+ new Cov(),
+ new Cow(),
+ new Cox(),
+ new Coy(),
+ new Coz(),
+ new CoA(),
+ new CoB(),
+ new CoC(),
+ new CoD(),
+ new CoE(),
+ new CoF(),
+ new CoG(),
+ new CoH(),
+ new CoI(),
+ new CoJ(),
+ new CoK(),
+ new CoL(),
+ new CoM(),
+ new CoN(),
+ new CoO(),
+ new CoP(),
+ new CoQ(),
+ new CoR(),
+ new CoS(),
+ new CoT(),
+ new CoU(),
+ new CoV(),
+ new CoW(),
+ new CoX(),
+ new CoY(),
+ new CoZ(),
+ new Cpa(),
+ new Cpb(),
+ new Cpc(),
+ new Cpd(),
+ new Cpe(),
+ new Cpf(),
+ new Cpg(),
+ new Cph(),
+ new Cpi(),
+ new Cpj(),
+ new Cpk(),
+ new Cpl(),
+ new Cpm(),
+ new Cpn(),
+ new Cpo(),
+ new Cpp(),
+ new Cpq(),
+ new Cpr(),
+ new Cps(),
+ new Cpt(),
+ new Cpu(),
+ new Cpv(),
+ new Cpw(),
+ new Cpx(),
+ new Cpy(),
+ new Cpz(),
+ new CpA(),
+ new CpB(),
+ new CpC(),
+ new CpD(),
+ new CpE(),
+ new CpF(),
+ new CpG(),
+ new CpH(),
+ new CpI(),
+ new CpJ(),
+ new CpK(),
+ new CpL(),
+ new CpM(),
+ new CpN(),
+ new CpO(),
+ new CpP(),
+ new CpQ(),
+ new CpR(),
+ new CpS(),
+ new CpT(),
+ new CpU(),
+ new CpV(),
+ new CpW(),
+ new CpX(),
+ new CpY(),
+ new CpZ(),
+ new Cqa(),
+ new Cqb(),
+ new Cqc(),
+ new Cqd(),
+ new Cqe(),
+ new Cqf(),
+ new Cqg(),
+ new Cqh(),
+ new Cqi(),
+ new Cqj(),
+ new Cqk(),
+ new Cql(),
+ new Cqm(),
+ new Cqn(),
+ new Cqo(),
+ new Cqp(),
+ new Cqq(),
+ new Cqr(),
+ new Cqs(),
+ new Cqt(),
+ new Cqu(),
+ new Cqv(),
+ new Cqw(),
+ new Cqx(),
+ new Cqy(),
+ new Cqz(),
+ new CqA(),
+ new CqB(),
+ new CqC(),
+ new CqD(),
+ new CqE(),
+ new CqF(),
+ new CqG(),
+ new CqH(),
+ new CqI(),
+ new CqJ(),
+ new CqK(),
+ new CqL(),
+ new CqM(),
+ new CqN(),
+ new CqO(),
+ new CqP(),
+ new CqQ(),
+ new CqR(),
+ new CqS(),
+ new CqT(),
+ new CqU(),
+ new CqV(),
+ new CqW(),
+ new CqX(),
+ new CqY(),
+ new CqZ(),
+ new Cra(),
+ new Crb(),
+ new Crc(),
+ new Crd(),
+ new Cre(),
+ new Crf(),
+ new Crg(),
+ new Crh(),
+ new Cri(),
+ new Crj(),
+ new Crk(),
+ new Crl(),
+ new Crm(),
+ new Crn(),
+ new Cro(),
+ new Crp(),
+ new Crq(),
+ new Crr(),
+ new Crs(),
+ new Crt(),
+ new Cru(),
+ new Crv(),
+ new Crw(),
+ new Crx(),
+ new Cry(),
+ new Crz(),
+ new CrA(),
+ new CrB(),
+ new CrC(),
+ new CrD(),
+ new CrE(),
+ new CrF(),
+ new CrG(),
+ new CrH(),
+ new CrI(),
+ new CrJ(),
+ new CrK(),
+ new CrL(),
+ new CrM(),
+ new CrN(),
+ new CrO(),
+ new CrP(),
+ new CrQ(),
+ new CrR(),
+ new CrS(),
+ new CrT(),
+ new CrU(),
+ new CrV(),
+ new CrW(),
+ new CrX(),
+ new CrY(),
+ new CrZ(),
+ new Csa(),
+ new Csb(),
+ new Csc(),
+ new Csd(),
+ new Cse(),
+ new Csf(),
+ new Csg(),
+ new Csh(),
+ new Csi(),
+ new Csj(),
+ new Csk(),
+ new Csl(),
+ new Csm(),
+ new Csn(),
+ new Cso(),
+ new Csp(),
+ new Csq(),
+ new Csr(),
+ new Css(),
+ new Cst(),
+ new Csu(),
+ new Csv(),
+ new Csw(),
+ new Csx(),
+ new Csy(),
+ new Csz(),
+ new CsA(),
+ new CsB(),
+ new CsC(),
+ new CsD(),
+ new CsE(),
+ new CsF(),
+ new CsG(),
+ new CsH(),
+ new CsI(),
+ new CsJ(),
+ new CsK(),
+ new CsL(),
+ new CsM(),
+ new CsN(),
+ new CsO(),
+ new CsP(),
+ new CsQ(),
+ new CsR(),
+ new CsS(),
+ new CsT(),
+ new CsU(),
+ new CsV(),
+ new CsW(),
+ new CsX(),
+ new CsY(),
+ new CsZ(),
+ new Cta(),
+ new Ctb(),
+ new Ctc(),
+ new Ctd(),
+ new Cte(),
+ new Ctf(),
+ new Ctg(),
+ new Cth(),
+ new Cti(),
+ new Ctj(),
+ new Ctk(),
+ new Ctl(),
+ new Ctm(),
+ new Ctn(),
+ new Cto(),
+ new Ctp(),
+ new Ctq(),
+ new Ctr(),
+ new Cts(),
+ new Ctt(),
+ new Ctu(),
+ new Ctv(),
+ new Ctw(),
+ new Ctx(),
+ new Cty(),
+ new Ctz(),
+ new CtA(),
+ new CtB(),
+ new CtC(),
+ new CtD(),
+ new CtE(),
+ new CtF(),
+ new CtG(),
+ new CtH(),
+ new CtI(),
+ new CtJ(),
+ new CtK(),
+ new CtL(),
+ new CtM(),
+ new CtN(),
+ new CtO(),
+ new CtP(),
+ new CtQ(),
+ new CtR(),
+ new CtS(),
+ new CtT(),
+ new CtU(),
+ new CtV(),
+ new CtW(),
+ new CtX(),
+ new CtY(),
+ new CtZ(),
+ new Cua(),
+ new Cub(),
+ new Cuc(),
+ new Cud(),
+ new Cue(),
+ new Cuf(),
+ new Cug(),
+ new Cuh(),
+ new Cui(),
+ new Cuj(),
+ new Cuk(),
+ new Cul(),
+ new Cum(),
+ new Cun(),
+ new Cuo(),
+ new Cup(),
+ new Cuq(),
+ new Cur(),
+ new Cus(),
+ new Cut(),
+ new Cuu(),
+ new Cuv(),
+ new Cuw(),
+ new Cux(),
+ new Cuy(),
+ new Cuz(),
+ new CuA(),
+ new CuB(),
+ new CuC(),
+ new CuD(),
+ new CuE(),
+ new CuF(),
+ new CuG(),
+ new CuH(),
+ new CuI(),
+ new CuJ(),
+ new CuK(),
+ new CuL(),
+ new CuM(),
+ new CuN(),
+ new CuO(),
+ new CuP(),
+ new CuQ(),
+ new CuR(),
+ new CuS(),
+ new CuT(),
+ new CuU(),
+ new CuV(),
+ new CuW(),
+ new CuX(),
+ new CuY(),
+ new CuZ(),
+ new Cva(),
+ new Cvb(),
+ new Cvc(),
+ new Cvd(),
+ new Cve(),
+ new Cvf(),
+ new Cvg(),
+ new Cvh(),
+ new Cvi(),
+ new Cvj(),
+ new Cvk(),
+ new Cvl(),
+ new Cvm(),
+ new Cvn(),
+ new Cvo(),
+ new Cvp(),
+ new Cvq(),
+ new Cvr(),
+ new Cvs(),
+ new Cvt(),
+ new Cvu(),
+ new Cvv(),
+ new Cvw(),
+ new Cvx(),
+ new Cvy(),
+ new Cvz(),
+ new CvA(),
+ new CvB(),
+ new CvC(),
+ new CvD(),
+ new CvE(),
+ new CvF(),
+ new CvG(),
+ new CvH(),
+ new CvI(),
+ new CvJ(),
+ new CvK(),
+ new CvL(),
+ new CvM(),
+ new CvN(),
+ new CvO(),
+ new CvP(),
+ new CvQ(),
+ new CvR(),
+ new CvS(),
+ new CvT(),
+ new CvU(),
+ new CvV(),
+ new CvW(),
+ new CvX(),
+ new CvY(),
+ new CvZ(),
+ new Cwa(),
+ new Cwb(),
+ new Cwc(),
+ new Cwd(),
+ new Cwe(),
+ new Cwf(),
+ new Cwg(),
+ new Cwh(),
+ new Cwi(),
+ new Cwj(),
+ new Cwk(),
+ new Cwl(),
+ new Cwm(),
+ new Cwn(),
+ new Cwo(),
+ new Cwp(),
+ new Cwq(),
+ new Cwr(),
+ new Cws(),
+ new Cwt(),
+ new Cwu(),
+ new Cwv(),
+ new Cww(),
+ new Cwx(),
+ new Cwy(),
+ new Cwz(),
+ new CwA(),
+ new CwB(),
+ new CwC(),
+ new CwD(),
+ new CwE(),
+ new CwF(),
+ new CwG(),
+ new CwH(),
+ new CwI(),
+ new CwJ(),
+ new CwK(),
+ new CwL(),
+ new CwM(),
+ new CwN(),
+ new CwO(),
+ new CwP(),
+ new CwQ(),
+ new CwR(),
+ new CwS(),
+ new CwT(),
+ new CwU(),
+ new CwV(),
+ new CwW(),
+ new CwX(),
+ new CwY(),
+ new CwZ(),
+ new Cxa(),
+ new Cxb(),
+ new Cxc(),
+ new Cxd(),
+ new Cxe(),
+ new Cxf(),
+ new Cxg(),
+ new Cxh(),
+ new Cxi(),
+ new Cxj(),
+ new Cxk(),
+ new Cxl(),
+ new Cxm(),
+ new Cxn(),
+ new Cxo(),
+ new Cxp(),
+ new Cxq(),
+ new Cxr(),
+ new Cxs(),
+ new Cxt(),
+ new Cxu(),
+ new Cxv(),
+ new Cxw(),
+ new Cxx(),
+ new Cxy(),
+ new Cxz(),
+ new CxA(),
+ new CxB(),
+ new CxC(),
+ new CxD(),
+ new CxE(),
+ new CxF(),
+ new CxG(),
+ new CxH(),
+ new CxI(),
+ new CxJ(),
+ new CxK(),
+ new CxL(),
+ new CxM(),
+ new CxN(),
+ new CxO(),
+ new CxP(),
+ new CxQ(),
+ new CxR(),
+ new CxS(),
+ new CxT(),
+ new CxU(),
+ new CxV(),
+ new CxW(),
+ new CxX(),
+ new CxY(),
+ new CxZ(),
+ new Cya(),
+ new Cyb(),
+ new Cyc(),
+ new Cyd(),
+ new Cye(),
+ new Cyf(),
+ new Cyg(),
+ new Cyh(),
+ new Cyi(),
+ new Cyj(),
+ new Cyk(),
+ new Cyl(),
+ new Cym(),
+ new Cyn(),
+ new Cyo(),
+ new Cyp(),
+ new Cyq(),
+ new Cyr(),
+ new Cys(),
+ new Cyt(),
+ new Cyu(),
+ new Cyv(),
+ new Cyw(),
+ new Cyx(),
+ new Cyy(),
+ new Cyz(),
+ new CyA(),
+ new CyB(),
+ new CyC(),
+ new CyD(),
+ new CyE(),
+ new CyF(),
+ new CyG(),
+ new CyH(),
+ new CyI(),
+ new CyJ(),
+ new CyK(),
+ new CyL(),
+ new CyM(),
+ new CyN(),
+ new CyO(),
+ new CyP(),
+ new CyQ(),
+ new CyR(),
+ new CyS(),
+ new CyT(),
+ new CyU(),
+ new CyV(),
+ new CyW(),
+ new CyX(),
+ new CyY(),
+ new CyZ(),
+ new Cza(),
+ new Czb(),
+ new Czc(),
+ new Czd(),
+ new Cze(),
+ new Czf(),
+ new Czg(),
+ new Czh(),
+ new Czi(),
+ new Czj(),
+ new Czk(),
+ new Czl(),
+ new Czm(),
+ new Czn(),
+ new Czo(),
+ new Czp(),
+ new Czq(),
+ new Czr(),
+ new Czs(),
+ new Czt(),
+ new Czu(),
+ new Czv(),
+ new Czw(),
+ new Czx(),
+ new Czy(),
+ new Czz(),
+ new CzA(),
+ new CzB(),
+ new CzC(),
+ new CzD(),
+ new CzE(),
+ new CzF(),
+ new CzG(),
+ new CzH(),
+ new CzI(),
+ new CzJ(),
+ new CzK(),
+ new CzL(),
+ new CzM(),
+ new CzN(),
+ new CzO(),
+ new CzP(),
+ new CzQ(),
+ new CzR(),
+ new CzS(),
+ new CzT(),
+ new CzU(),
+ new CzV(),
+ new CzW(),
+ new CzX(),
+ new CzY(),
+ new CzZ(),
+ new CAa(),
+ new CAb(),
+ new CAc(),
+ new CAd(),
+ new CAe(),
+ new CAf(),
+ new CAg(),
+ new CAh(),
+ new CAi(),
+ new CAj(),
+ new CAk(),
+ new CAl(),
+ new CAm(),
+ new CAn(),
+ new CAo(),
+ new CAp(),
+ new CAq(),
+ new CAr(),
+ new CAs(),
+ new CAt(),
+ new CAu(),
+ new CAv(),
+ new CAw(),
+ new CAx(),
+ new CAy(),
+ new CAz(),
+ new CAA(),
+ new CAB(),
+ new CAC(),
+ new CAD(),
+ new CAE(),
+ new CAF(),
+ new CAG(),
+ new CAH(),
+ new CAI(),
+ new CAJ(),
+ new CAK(),
+ new CAL(),
+ new CAM(),
+ new CAN(),
+ new CAO(),
+ new CAP(),
+ new CAQ(),
+ new CAR(),
+ new CAS(),
+ new CAT(),
+ new CAU(),
+ new CAV(),
+ new CAW(),
+ new CAX(),
+ new CAY(),
+ new CAZ(),
+ new CBa(),
+ new CBb(),
+ new CBc(),
+ new CBd(),
+ new CBe(),
+ new CBf(),
+ new CBg(),
+ new CBh(),
+ new CBi(),
+ new CBj(),
+ new CBk(),
+ new CBl(),
+ new CBm(),
+ new CBn(),
+ new CBo(),
+ new CBp(),
+ new CBq(),
+ new CBr(),
+ new CBs(),
+ new CBt(),
+ new CBu(),
+ new CBv(),
+ new CBw(),
+ new CBx(),
+ new CBy(),
+ new CBz(),
+ new CBA(),
+ new CBB(),
+ new CBC(),
+ new CBD(),
+ new CBE(),
+ new CBF(),
+ new CBG(),
+ new CBH(),
+ new CBI(),
+ new CBJ(),
+ new CBK(),
+ new CBL(),
+ new CBM(),
+ new CBN(),
+ new CBO(),
+ new CBP(),
+ new CBQ(),
+ new CBR(),
+ new CBS(),
+ new CBT(),
+ new CBU(),
+ new CBV(),
+ new CBW(),
+ new CBX(),
+ new CBY(),
+ new CBZ(),
+ new CCa(),
+ new CCb(),
+ new CCc(),
+ new CCd(),
+ new CCe(),
+ new CCf(),
+ new CCg(),
+ new CCh(),
+ new CCi(),
+ new CCj(),
+ new CCk(),
+ new CCl(),
+ new CCm(),
+ new CCn(),
+ new CCo(),
+ new CCp(),
+ new CCq(),
+ new CCr(),
+ new CCs(),
+ new CCt(),
+ new CCu(),
+ new CCv(),
+ new CCw(),
+ new CCx(),
+ new CCy(),
+ new CCz(),
+ new CCA(),
+ new CCB(),
+ new CCC(),
+ new CCD(),
+ new CCE(),
+ new CCF(),
+ new CCG(),
+ new CCH(),
+ new CCI(),
+ new CCJ(),
+ new CCK(),
+ new CCL(),
+ new CCM(),
+ new CCN(),
+ new CCO(),
+ new CCP(),
+ new CCQ(),
+ new CCR(),
+ new CCS(),
+ new CCT(),
+ new CCU(),
+ new CCV(),
+ new CCW(),
+ new CCX(),
+ new CCY(),
+ new CCZ(),
+ new CDa(),
+ new CDb(),
+ new CDc(),
+ new CDd(),
+ new CDe(),
+ new CDf(),
+ new CDg(),
+ new CDh(),
+ new CDi(),
+ new CDj(),
+ new CDk(),
+ new CDl(),
+ new CDm(),
+ new CDn(),
+ new CDo(),
+ new CDp(),
+ new CDq(),
+ new CDr(),
+ new CDs(),
+ new CDt(),
+ new CDu(),
+ new CDv(),
+ new CDw(),
+ new CDx(),
+ new CDy(),
+ new CDz(),
+ new CDA(),
+ new CDB(),
+ new CDC(),
+ new CDD(),
+ new CDE(),
+ new CDF(),
+ new CDG(),
+ new CDH(),
+ new CDI(),
+ new CDJ(),
+ new CDK(),
+ new CDL(),
+ new CDM(),
+ new CDN(),
+ new CDO(),
+ new CDP(),
+ new CDQ(),
+ new CDR(),
+ new CDS(),
+ new CDT(),
+ new CDU(),
+ new CDV(),
+ new CDW(),
+ new CDX(),
+ new CDY(),
+ new CDZ(),
+ new CEa(),
+ new CEb(),
+ new CEc(),
+ new CEd(),
+ new CEe(),
+ new CEf(),
+ new CEg(),
+ new CEh(),
+ new CEi(),
+ new CEj(),
+ new CEk(),
+ new CEl(),
+ new CEm(),
+ new CEn(),
+ new CEo(),
+ new CEp(),
+ new CEq(),
+ new CEr(),
+ new CEs(),
+ new CEt(),
+ new CEu(),
+ new CEv(),
+ new CEw(),
+ new CEx(),
+ new CEy(),
+ new CEz(),
+ new CEA(),
+ new CEB(),
+ new CEC(),
+ new CED(),
+ new CEE(),
+ new CEF(),
+ new CEG(),
+ new CEH(),
+ new CEI(),
+ new CEJ(),
+ new CEK(),
+ new CEL(),
+ new CEM(),
+ new CEN(),
+ new CEO(),
+ new CEP(),
+ new CEQ(),
+ new CER(),
+ new CES(),
+ new CET(),
+ new CEU(),
+ new CEV(),
+ new CEW(),
+ new CEX(),
+ new CEY(),
+ new CEZ(),
+ new CFa(),
+ new CFb(),
+ new CFc(),
+ new CFd(),
+ new CFe(),
+ new CFf(),
+ new CFg(),
+ new CFh(),
+ new CFi(),
+ new CFj(),
+ new CFk(),
+ new CFl(),
+ new CFm(),
+ new CFn(),
+ new CFo(),
+ new CFp(),
+ new CFq(),
+ new CFr(),
+ new CFs(),
+ new CFt(),
+ new CFu(),
+ new CFv(),
+ new CFw(),
+ new CFx(),
+ new CFy(),
+ new CFz(),
+ new CFA(),
+ new CFB(),
+ new CFC(),
+ new CFD(),
+ new CFE(),
+ new CFF(),
+ new CFG(),
+ new CFH(),
+ new CFI(),
+ new CFJ(),
+ new CFK(),
+ new CFL(),
+ new CFM(),
+ new CFN(),
+ new CFO(),
+ new CFP(),
+ new CFQ(),
+ new CFR(),
+ new CFS(),
+ new CFT(),
+ new CFU(),
+ new CFV(),
+ new CFW(),
+ new CFX(),
+ new CFY(),
+ new CFZ(),
+ new CGa(),
+ new CGb(),
+ new CGc(),
+ new CGd(),
+ new CGe(),
+ new CGf(),
+ new CGg(),
+ new CGh(),
+ new CGi(),
+ new CGj(),
+ new CGk(),
+ new CGl(),
+ new CGm(),
+ new CGn(),
+ new CGo(),
+ new CGp(),
+ new CGq(),
+ new CGr(),
+ new CGs(),
+ new CGt(),
+ new CGu(),
+ new CGv(),
+ new CGw(),
+ new CGx(),
+ new CGy(),
+ new CGz(),
+ new CGA(),
+ new CGB(),
+ new CGC(),
+ new CGD(),
+ new CGE(),
+ new CGF(),
+ new CGG(),
+ new CGH(),
+ new CGI(),
+ new CGJ(),
+ new CGK(),
+ new CGL(),
+ new CGM(),
+ new CGN(),
+ new CGO(),
+ new CGP(),
+ new CGQ(),
+ new CGR(),
+ new CGS(),
+ new CGT(),
+ new CGU(),
+ new CGV(),
+ new CGW(),
+ new CGX(),
+ new CGY(),
+ new CGZ(),
+ new CHa(),
+ new CHb(),
+ new CHc(),
+ new CHd(),
+ new CHe(),
+ new CHf(),
+ new CHg(),
+ new CHh(),
+ new CHi(),
+ new CHj(),
+ new CHk(),
+ new CHl(),
+ new CHm(),
+ new CHn(),
+ new CHo(),
+ new CHp(),
+ new CHq(),
+ new CHr(),
+ new CHs(),
+ new CHt(),
+ new CHu(),
+ new CHv(),
+ new CHw(),
+ new CHx(),
+ new CHy(),
+ new CHz(),
+ new CHA(),
+ new CHB(),
+ new CHC(),
+ new CHD(),
+ new CHE(),
+ new CHF(),
+ new CHG(),
+ new CHH(),
+ new CHI(),
+ new CHJ(),
+ new CHK(),
+ new CHL(),
+ new CHM(),
+ new CHN(),
+ new CHO(),
+ new CHP(),
+ new CHQ(),
+ new CHR(),
+ new CHS(),
+ new CHT(),
+ new CHU(),
+ new CHV(),
+ new CHW(),
+ new CHX(),
+ new CHY(),
+ new CHZ(),
+ new CIa(),
+ new CIb(),
+ new CIc(),
+ new CId(),
+ new CIe(),
+ new CIf(),
+ new CIg(),
+ new CIh(),
+ new CIi(),
+ new CIj(),
+ new CIk(),
+ new CIl(),
+ new CIm(),
+ new CIn(),
+ new CIo(),
+ new CIp(),
+ new CIq(),
+ new CIr(),
+ new CIs(),
+ new CIt(),
+ new CIu(),
+ new CIv(),
+ new CIw(),
+ new CIx(),
+ new CIy(),
+ new CIz(),
+ new CIA(),
+ new CIB(),
+ new CIC(),
+ new CID(),
+ new CIE(),
+ new CIF(),
+ new CIG(),
+ new CIH(),
+ new CII(),
+ new CIJ(),
+ new CIK(),
+ new CIL(),
+ new CIM(),
+ new CIN(),
+ new CIO(),
+ new CIP(),
+ new CIQ(),
+ new CIR(),
+ new CIS(),
+ new CIT(),
+ new CIU(),
+ new CIV(),
+ new CIW(),
+ new CIX(),
+ new CIY(),
+ new CIZ(),
+ new CJa(),
+ new CJb(),
+ new CJc(),
+ new CJd(),
+ new CJe(),
+ new CJf(),
+ new CJg(),
+ new CJh(),
+ new CJi(),
+ new CJj(),
+ new CJk(),
+ new CJl(),
+ new CJm(),
+ new CJn(),
+ new CJo(),
+ new CJp(),
+ new CJq(),
+ new CJr(),
+ new CJs(),
+ new CJt(),
+ new CJu(),
+ new CJv(),
+ new CJw(),
+ new CJx(),
+ new CJy(),
+ new CJz(),
+ new CJA(),
+ new CJB(),
+ new CJC(),
+ new CJD(),
+ new CJE(),
+ new CJF(),
+ new CJG(),
+ new CJH(),
+ new CJI(),
+ new CJJ(),
+ new CJK(),
+ new CJL(),
+ new CJM(),
+ new CJN(),
+ new CJO(),
+ new CJP(),
+ new CJQ(),
+ new CJR(),
+ new CJS(),
+ new CJT(),
+ new CJU(),
+ new CJV(),
+ new CJW(),
+ new CJX(),
+ new CJY(),
+ new CJZ(),
+ new CKa(),
+ new CKb(),
+ new CKc(),
+ new CKd(),
+ new CKe(),
+ new CKf(),
+ new CKg(),
+ new CKh(),
+ new CKi(),
+ new CKj(),
+ new CKk(),
+ new CKl(),
+ new CKm(),
+ new CKn(),
+ new CKo(),
+ new CKp(),
+ new CKq(),
+ new CKr(),
+ new CKs(),
+ new CKt(),
+ new CKu(),
+ new CKv(),
+ new CKw(),
+ new CKx(),
+ new CKy(),
+ new CKz(),
+ new CKA(),
+ new CKB(),
+ new CKC(),
+ new CKD(),
+ new CKE(),
+ new CKF(),
+ new CKG(),
+ new CKH(),
+ new CKI(),
+ new CKJ(),
+ new CKK(),
+ new CKL(),
+ new CKM(),
+ new CKN(),
+ new CKO(),
+ new CKP(),
+ new CKQ(),
+ new CKR(),
+ new CKS(),
+ new CKT(),
+ new CKU(),
+ new CKV(),
+ new CKW(),
+ new CKX(),
+ new CKY(),
+ new CKZ(),
+ new CLa(),
+ new CLb(),
+ new CLc(),
+ new CLd(),
+ new CLe(),
+ new CLf(),
+ new CLg(),
+ new CLh(),
+ new CLi(),
+ new CLj(),
+ new CLk(),
+ new CLl(),
+ new CLm(),
+ new CLn(),
+ new CLo(),
+ new CLp(),
+ new CLq(),
+ new CLr(),
+ new CLs(),
+ new CLt(),
+ new CLu(),
+ new CLv(),
+ new CLw(),
+ new CLx(),
+ new CLy(),
+ new CLz(),
+ new CLA(),
+ new CLB(),
+ new CLC(),
+ new CLD(),
+ new CLE(),
+ new CLF(),
+ new CLG(),
+ new CLH(),
+ new CLI(),
+ new CLJ(),
+ new CLK(),
+ new CLL(),
+ new CLM(),
+ new CLN(),
+ new CLO(),
+ new CLP(),
+ new CLQ(),
+ new CLR(),
+ new CLS(),
+ new CLT(),
+ new CLU(),
+ new CLV(),
+ new CLW(),
+ new CLX(),
+ new CLY(),
+ new CLZ(),
+ new CMa(),
+ new CMb(),
+ new CMc(),
+ new CMd(),
+ new CMe(),
+ new CMf(),
+ new CMg(),
+ new CMh(),
+ new CMi(),
+ new CMj(),
+ new CMk(),
+ new CMl(),
+ new CMm(),
+ new CMn(),
+ new CMo(),
+ new CMp(),
+ new CMq(),
+ new CMr(),
+ new CMs(),
+ new CMt(),
+ new CMu(),
+ new CMv(),
+ new CMw(),
+ new CMx(),
+ new CMy(),
+ new CMz(),
+ new CMA(),
+ new CMB(),
+ new CMC(),
+ new CMD(),
+ new CME(),
+ new CMF(),
+ new CMG(),
+ new CMH(),
+ new CMI(),
+ new CMJ(),
+ new CMK(),
+ new CML(),
+ new CMM(),
+ new CMN(),
+ new CMO(),
+ new CMP(),
+ new CMQ(),
+ new CMR(),
+ new CMS(),
+ new CMT(),
+ new CMU(),
+ new CMV(),
+ new CMW(),
+ new CMX(),
+ new CMY(),
+ new CMZ(),
+ new CNa(),
+ new CNb(),
+ new CNc(),
+ new CNd(),
+ new CNe(),
+ new CNf(),
+ new CNg(),
+ new CNh(),
+ new CNi(),
+ new CNj(),
+ new CNk(),
+ new CNl(),
+ new CNm(),
+ new CNn(),
+ new CNo(),
+ new CNp(),
+ new CNq(),
+ new CNr(),
+ new CNs(),
+ new CNt(),
+ new CNu(),
+ new CNv(),
+ new CNw(),
+ new CNx(),
+ new CNy(),
+ new CNz(),
+ new CNA(),
+ new CNB(),
+ new CNC(),
+ new CND(),
+ new CNE(),
+ new CNF(),
+ new CNG(),
+ new CNH(),
+ new CNI(),
+ new CNJ(),
+ new CNK(),
+ new CNL(),
+ new CNM(),
+ new CNN(),
+ new CNO(),
+ new CNP(),
+ new CNQ(),
+ new CNR(),
+ new CNS(),
+ new CNT(),
+ new CNU(),
+ new CNV(),
+ new CNW(),
+ new CNX(),
+ new CNY(),
+ new CNZ(),
+ new COa(),
+ new COb(),
+ new COc(),
+ new COd(),
+ new COe(),
+ new COf(),
+ new COg(),
+ new COh(),
+ new COi(),
+ new COj(),
+ new COk(),
+ new COl(),
+ new COm(),
+ new COn(),
+ new COo(),
+ new COp(),
+ new COq(),
+ new COr(),
+ new COs(),
+ new COt(),
+ new COu(),
+ new COv(),
+ new COw(),
+ new COx(),
+ new COy(),
+ new COz(),
+ new COA(),
+ new COB(),
+ new COC(),
+ new COD(),
+ new COE(),
+ new COF(),
+ new COG(),
+ new COH(),
+ new COI(),
+ new COJ(),
+ new COK(),
+ new COL(),
+ new COM(),
+ new CON(),
+ new COO(),
+ new COP(),
+ new COQ(),
+ new COR(),
+ new COS(),
+ new COT(),
+ new COU(),
+ new COV(),
+ new COW(),
+ new COX(),
+ new COY(),
+ new COZ(),
+ new CPa(),
+ new CPb(),
+ new CPc(),
+ new CPd(),
+ new CPe(),
+ new CPf(),
+ new CPg(),
+ new CPh(),
+ new CPi(),
+ new CPj(),
+ new CPk(),
+ new CPl(),
+ new CPm(),
+ new CPn(),
+ new CPo(),
+ new CPp(),
+ new CPq(),
+ new CPr(),
+ new CPs(),
+ new CPt(),
+ new CPu(),
+ new CPv(),
+ new CPw(),
+ new CPx(),
+ new CPy(),
+ new CPz(),
+ new CPA(),
+ new CPB(),
+ new CPC(),
+ new CPD(),
+ new CPE(),
+ new CPF(),
+ new CPG(),
+ new CPH(),
+ new CPI(),
+ new CPJ(),
+ new CPK(),
+ new CPL(),
+ new CPM(),
+ new CPN(),
+ new CPO(),
+ new CPP(),
+ new CPQ(),
+ new CPR(),
+ new CPS(),
+ new CPT(),
+ new CPU(),
+ new CPV(),
+ new CPW(),
+ new CPX(),
+ new CPY(),
+ new CPZ(),
+ new CQa(),
+ new CQb(),
+ new CQc(),
+ new CQd(),
+ new CQe(),
+ new CQf(),
+ new CQg(),
+ new CQh(),
+ new CQi(),
+ new CQj(),
+ new CQk(),
+ new CQl(),
+ new CQm(),
+ new CQn(),
+ new CQo(),
+ new CQp(),
+ new CQq(),
+ new CQr(),
+ new CQs(),
+ new CQt(),
+ new CQu(),
+ new CQv(),
+ new CQw(),
+ new CQx(),
+ new CQy(),
+ new CQz(),
+ new CQA(),
+ new CQB(),
+ new CQC(),
+ new CQD(),
+ new CQE(),
+ new CQF(),
+ new CQG(),
+ new CQH(),
+ new CQI(),
+ new CQJ(),
+ new CQK(),
+ new CQL(),
+ new CQM(),
+ new CQN(),
+ new CQO(),
+ new CQP(),
+ new CQQ(),
+ new CQR(),
+ new CQS(),
+ new CQT(),
+ new CQU(),
+ new CQV(),
+ new CQW(),
+ new CQX(),
+ new CQY(),
+ new CQZ(),
+ new CRa(),
+ new CRb(),
+ new CRc(),
+ new CRd(),
+ new CRe(),
+ new CRf(),
+ new CRg(),
+ new CRh(),
+ new CRi(),
+ new CRj(),
+ new CRk(),
+ new CRl(),
+ new CRm(),
+ new CRn(),
+ new CRo(),
+ new CRp(),
+ new CRq(),
+ new CRr(),
+ new CRs(),
+ new CRt(),
+ new CRu(),
+ new CRv(),
+ new CRw(),
+ new CRx(),
+ new CRy(),
+ new CRz(),
+ new CRA(),
+ new CRB(),
+ new CRC(),
+ new CRD(),
+ new CRE(),
+ new CRF(),
+ new CRG(),
+ new CRH(),
+ new CRI(),
+ new CRJ(),
+ new CRK(),
+ new CRL(),
+ new CRM(),
+ new CRN(),
+ new CRO(),
+ new CRP(),
+ new CRQ(),
+ new CRR(),
+ new CRS(),
+ new CRT(),
+ new CRU(),
+ new CRV(),
+ new CRW(),
+ new CRX(),
+ new CRY(),
+ new CRZ(),
+ new CSa(),
+ new CSb(),
+ new CSc(),
+ new CSd(),
+ new CSe(),
+ new CSf(),
+ new CSg(),
+ new CSh(),
+ new CSi(),
+ new CSj(),
+ new CSk(),
+ new CSl(),
+ new CSm(),
+ new CSn(),
+ new CSo(),
+ new CSp(),
+ new CSq(),
+ new CSr(),
+ new CSs(),
+ new CSt(),
+ new CSu(),
+ new CSv(),
+ new CSw(),
+ new CSx(),
+ new CSy(),
+ new CSz(),
+ new CSA(),
+ new CSB(),
+ new CSC(),
+ new CSD(),
+ new CSE(),
+ new CSF(),
+ new CSG(),
+ new CSH(),
+ new CSI(),
+ new CSJ(),
+ new CSK(),
+ new CSL(),
+ new CSM(),
+ new CSN(),
+ new CSO(),
+ new CSP(),
+ new CSQ(),
+ new CSR(),
+ new CSS(),
+ new CST(),
+ new CSU(),
+ new CSV(),
+ new CSW(),
+ new CSX(),
+ new CSY(),
+ new CSZ(),
+ new CTa(),
+ new CTb(),
+ new CTc(),
+ new CTd(),
+ new CTe(),
+ new CTf(),
+ new CTg(),
+ new CTh(),
+ new CTi(),
+ new CTj(),
+ new CTk(),
+ new CTl(),
+ new CTm(),
+ new CTn(),
+ new CTo(),
+ new CTp(),
+ new CTq(),
+ new CTr(),
+ new CTs(),
+ new CTt(),
+ new CTu(),
+ new CTv(),
+ new CTw(),
+ new CTx(),
+ new CTy(),
+ new CTz(),
+ new CTA(),
+ new CTB(),
+ new CTC(),
+ new CTD(),
+ new CTE(),
+ new CTF(),
+ new CTG(),
+ new CTH(),
+ new CTI(),
+ new CTJ(),
+ new CTK(),
+ new CTL(),
+ new CTM(),
+ new CTN(),
+ new CTO(),
+ new CTP(),
+ new CTQ(),
+ new CTR(),
+ new CTS(),
+ new CTT(),
+ new CTU(),
+ new CTV(),
+ new CTW(),
+ new CTX(),
+ new CTY(),
+ new CTZ(),
+ new CUa(),
+ new CUb(),
+ new CUc(),
+ new CUd(),
+ new CUe(),
+ new CUf(),
+ new CUg(),
+ new CUh(),
+ new CUi(),
+ new CUj(),
+ new CUk(),
+ new CUl(),
+ new CUm(),
+ new CUn(),
+ new CUo(),
+ new CUp(),
+ new CUq(),
+ new CUr(),
+ new CUs(),
+ new CUt(),
+ new CUu(),
+ new CUv(),
+ new CUw(),
+ new CUx(),
+ new CUy(),
+ new CUz(),
+ new CUA(),
+ new CUB(),
+ new CUC(),
+ new CUD(),
+ new CUE(),
+ new CUF(),
+ new CUG(),
+ new CUH(),
+ new CUI(),
+ new CUJ(),
+ new CUK(),
+ new CUL(),
+ new CUM(),
+ new CUN(),
+ new CUO(),
+ new CUP(),
+ new CUQ(),
+ new CUR(),
+ new CUS(),
+ new CUT(),
+ new CUU(),
+ new CUV(),
+ new CUW(),
+ new CUX(),
+ new CUY(),
+ new CUZ(),
+ new CVa(),
+ new CVb(),
+ new CVc(),
+ new CVd(),
+ new CVe(),
+ new CVf(),
+ new CVg(),
+ new CVh(),
+ new CVi(),
+ new CVj(),
+ new CVk(),
+ new CVl(),
+ new CVm(),
+ new CVn(),
+ new CVo(),
+ new CVp(),
+ new CVq(),
+ new CVr(),
+ new CVs(),
+ new CVt(),
+ new CVu(),
+ new CVv(),
+ new CVw(),
+ new CVx(),
+ new CVy(),
+ new CVz(),
+ new CVA(),
+ new CVB(),
+ new CVC(),
+ new CVD(),
+ new CVE(),
+ new CVF(),
+ new CVG(),
+ new CVH(),
+ new CVI(),
+ new CVJ(),
+ new CVK(),
+ new CVL(),
+ new CVM(),
+ new CVN(),
+ new CVO(),
+ new CVP(),
+ new CVQ(),
+ new CVR(),
+ new CVS(),
+ new CVT(),
+ new CVU(),
+ new CVV(),
+ new CVW(),
+ new CVX(),
+ new CVY(),
+ new CVZ(),
+ new CWa(),
+ new CWb(),
+ new CWc(),
+ new CWd(),
+ new CWe(),
+ new CWf(),
+ new CWg(),
+ new CWh(),
+ new CWi(),
+ new CWj(),
+ new CWk(),
+ new CWl(),
+ new CWm(),
+ new CWn(),
+ new CWo(),
+ new CWp(),
+ new CWq(),
+ new CWr(),
+ new CWs(),
+ new CWt(),
+ new CWu(),
+ new CWv(),
+ new CWw(),
+ new CWx(),
+ new CWy(),
+ new CWz(),
+ new CWA(),
+ new CWB(),
+ new CWC(),
+ new CWD(),
+ new CWE(),
+ new CWF(),
+ new CWG(),
+ new CWH(),
+ new CWI(),
+ new CWJ(),
+ new CWK(),
+ new CWL(),
+ new CWM(),
+ new CWN(),
+ new CWO(),
+ new CWP(),
+ new CWQ(),
+ new CWR(),
+ new CWS(),
+ new CWT(),
+ new CWU(),
+ new CWV(),
+ new CWW(),
+ new CWX(),
+ new CWY(),
+ new CWZ(),
+ new CXa(),
+ new CXb(),
+ new CXc(),
+ new CXd(),
+ new CXe(),
+ new CXf(),
+ new CXg(),
+ new CXh(),
+ new CXi(),
+ new CXj(),
+ new CXk(),
+ new CXl(),
+ new CXm(),
+ new CXn(),
+ new CXo(),
+ new CXp(),
+ new CXq(),
+ new CXr(),
+ new CXs(),
+ new CXt(),
+ new CXu(),
+ new CXv(),
+ new CXw(),
+ new CXx(),
+ new CXy(),
+ new CXz(),
+ new CXA(),
+ new CXB(),
+ new CXC(),
+ new CXD(),
+ new CXE(),
+ new CXF(),
+ new CXG(),
+ new CXH(),
+ new CXI(),
+ new CXJ(),
+ new CXK(),
+ new CXL(),
+ new CXM(),
+ new CXN(),
+ new CXO(),
+ new CXP(),
+ new CXQ(),
+ new CXR(),
+ new CXS(),
+ new CXT(),
+ new CXU(),
+ new CXV(),
+ new CXW(),
+ new CXX(),
+ new CXY(),
+ new CXZ(),
+ new CYa(),
+ new CYb(),
+ new CYc(),
+ new CYd(),
+ new CYe(),
+ new CYf(),
+ new CYg(),
+ new CYh(),
+ new CYi(),
+ new CYj(),
+ new CYk(),
+ new CYl(),
+ new CYm(),
+ new CYn(),
+ new CYo(),
+ new CYp(),
+ new CYq(),
+ new CYr(),
+ new CYs(),
+ new CYt(),
+ new CYu(),
+ new CYv(),
+ new CYw(),
+ new CYx(),
+ new CYy(),
+ new CYz(),
+ new CYA(),
+ new CYB(),
+ new CYC(),
+ new CYD(),
+ new CYE(),
+ new CYF(),
+ new CYG(),
+ new CYH(),
+ new CYI(),
+ new CYJ(),
+ new CYK(),
+ new CYL(),
+ new CYM(),
+ new CYN(),
+ new CYO(),
+ new CYP(),
+ new CYQ(),
+ new CYR(),
+ new CYS(),
+ new CYT(),
+ new CYU(),
+ new CYV(),
+ new CYW(),
+ new CYX(),
+ new CYY(),
+ new CYZ(),
+ new CZa(),
+ new CZb(),
+ new CZc(),
+ new CZd(),
+ new CZe(),
+ new CZf(),
+ new CZg(),
+ new CZh(),
+ new CZi(),
+ new CZj(),
+ new CZk(),
+ new CZl(),
+ new CZm(),
+ new CZn(),
+ new CZo(),
+ new CZp(),
+ new CZq(),
+ new CZr(),
+ new CZs(),
+ new CZt(),
+ new CZu(),
+ new CZv(),
+ new CZw(),
+ new CZx(),
+ new CZy(),
+ new CZz(),
+ new CZA(),
+ new CZB(),
+ new CZC(),
+ new CZD(),
+ new CZE(),
+ new CZF(),
+ new CZG(),
+ new CZH(),
+ new CZI(),
+ new CZJ(),
+ new CZK(),
+ new CZL(),
+ new CZM(),
+ new CZN(),
+ new CZO(),
+ new CZP(),
+ new CZQ(),
+ new CZR(),
+ new CZS(),
+ new CZT(),
+ new CZU(),
+ new CZV(),
+ new CZW(),
+ new CZX(),
+ new CZY(),
+ new CZZ(),
+];
+
+class Caa {}
+
+class Cab {}
+
+class Cac {}
+
+class Cad {}
+
+class Cae {}
+
+class Caf {}
+
+class Cag {}
+
+class Cah {}
+
+class Cai {}
+
+class Caj {}
+
+class Cak {}
+
+class Cal {}
+
+class Cam {}
+
+class Can {}
+
+class Cao {}
+
+class Cap {}
+
+class Caq {}
+
+class Car {}
+
+class Cas {}
+
+class Cat {}
+
+class Cau {}
+
+class Cav {}
+
+class Caw {}
+
+class Cax {}
+
+class Cay {}
+
+class Caz {}
+
+class CaA {}
+
+class CaB {}
+
+class CaC {}
+
+class CaD {}
+
+class CaE {}
+
+class CaF {}
+
+class CaG {}
+
+class CaH {}
+
+class CaI {}
+
+class CaJ {}
+
+class CaK {}
+
+class CaL {}
+
+class CaM {}
+
+class CaN {}
+
+class CaO {}
+
+class CaP {}
+
+class CaQ {}
+
+class CaR {}
+
+class CaS {}
+
+class CaT {}
+
+class CaU {}
+
+class CaV {}
+
+class CaW {}
+
+class CaX {}
+
+class CaY {}
+
+class CaZ {}
+
+class Cba {}
+
+class Cbb {}
+
+class Cbc {}
+
+class Cbd {}
+
+class Cbe {}
+
+class Cbf {}
+
+class Cbg {}
+
+class Cbh {}
+
+class Cbi {}
+
+class Cbj {}
+
+class Cbk {}
+
+class Cbl {}
+
+class Cbm {}
+
+class Cbn {}
+
+class Cbo {}
+
+class Cbp {}
+
+class Cbq {}
+
+class Cbr {}
+
+class Cbs {}
+
+class Cbt {}
+
+class Cbu {}
+
+class Cbv {}
+
+class Cbw {}
+
+class Cbx {}
+
+class Cby {}
+
+class Cbz {}
+
+class CbA {}
+
+class CbB {}
+
+class CbC {}
+
+class CbD {}
+
+class CbE {}
+
+class CbF {}
+
+class CbG {}
+
+class CbH {}
+
+class CbI {}
+
+class CbJ {}
+
+class CbK {}
+
+class CbL {}
+
+class CbM {}
+
+class CbN {}
+
+class CbO {}
+
+class CbP {}
+
+class CbQ {}
+
+class CbR {}
+
+class CbS {}
+
+class CbT {}
+
+class CbU {}
+
+class CbV {}
+
+class CbW {}
+
+class CbX {}
+
+class CbY {}
+
+class CbZ {}
+
+class Cca {}
+
+class Ccb {}
+
+class Ccc {}
+
+class Ccd {}
+
+class Cce {}
+
+class Ccf {}
+
+class Ccg {}
+
+class Cch {}
+
+class Cci {}
+
+class Ccj {}
+
+class Cck {}
+
+class Ccl {}
+
+class Ccm {}
+
+class Ccn {}
+
+class Cco {}
+
+class Ccp {}
+
+class Ccq {}
+
+class Ccr {}
+
+class Ccs {}
+
+class Cct {}
+
+class Ccu {}
+
+class Ccv {}
+
+class Ccw {}
+
+class Ccx {}
+
+class Ccy {}
+
+class Ccz {}
+
+class CcA {}
+
+class CcB {}
+
+class CcC {}
+
+class CcD {}
+
+class CcE {}
+
+class CcF {}
+
+class CcG {}
+
+class CcH {}
+
+class CcI {}
+
+class CcJ {}
+
+class CcK {}
+
+class CcL {}
+
+class CcM {}
+
+class CcN {}
+
+class CcO {}
+
+class CcP {}
+
+class CcQ {}
+
+class CcR {}
+
+class CcS {}
+
+class CcT {}
+
+class CcU {}
+
+class CcV {}
+
+class CcW {}
+
+class CcX {}
+
+class CcY {}
+
+class CcZ {}
+
+class Cda {}
+
+class Cdb {}
+
+class Cdc {}
+
+class Cdd {}
+
+class Cde {}
+
+class Cdf {}
+
+class Cdg {}
+
+class Cdh {}
+
+class Cdi {}
+
+class Cdj {}
+
+class Cdk {}
+
+class Cdl {}
+
+class Cdm {}
+
+class Cdn {}
+
+class Cdo {}
+
+class Cdp {}
+
+class Cdq {}
+
+class Cdr {}
+
+class Cds {}
+
+class Cdt {}
+
+class Cdu {}
+
+class Cdv {}
+
+class Cdw {}
+
+class Cdx {}
+
+class Cdy {}
+
+class Cdz {}
+
+class CdA {}
+
+class CdB {}
+
+class CdC {}
+
+class CdD {}
+
+class CdE {}
+
+class CdF {}
+
+class CdG {}
+
+class CdH {}
+
+class CdI {}
+
+class CdJ {}
+
+class CdK {}
+
+class CdL {}
+
+class CdM {}
+
+class CdN {}
+
+class CdO {}
+
+class CdP {}
+
+class CdQ {}
+
+class CdR {}
+
+class CdS {}
+
+class CdT {}
+
+class CdU {}
+
+class CdV {}
+
+class CdW {}
+
+class CdX {}
+
+class CdY {}
+
+class CdZ {}
+
+class Cea {}
+
+class Ceb {}
+
+class Cec {}
+
+class Ced {}
+
+class Cee {}
+
+class Cef {}
+
+class Ceg {}
+
+class Ceh {}
+
+class Cei {}
+
+class Cej {}
+
+class Cek {}
+
+class Cel {}
+
+class Cem {}
+
+class Cen {}
+
+class Ceo {}
+
+class Cep {}
+
+class Ceq {}
+
+class Cer {}
+
+class Ces {}
+
+class Cet {}
+
+class Ceu {}
+
+class Cev {}
+
+class Cew {}
+
+class Cex {}
+
+class Cey {}
+
+class Cez {}
+
+class CeA {}
+
+class CeB {}
+
+class CeC {}
+
+class CeD {}
+
+class CeE {}
+
+class CeF {}
+
+class CeG {}
+
+class CeH {}
+
+class CeI {}
+
+class CeJ {}
+
+class CeK {}
+
+class CeL {}
+
+class CeM {}
+
+class CeN {}
+
+class CeO {}
+
+class CeP {}
+
+class CeQ {}
+
+class CeR {}
+
+class CeS {}
+
+class CeT {}
+
+class CeU {}
+
+class CeV {}
+
+class CeW {}
+
+class CeX {}
+
+class CeY {}
+
+class CeZ {}
+
+class Cfa {}
+
+class Cfb {}
+
+class Cfc {}
+
+class Cfd {}
+
+class Cfe {}
+
+class Cff {}
+
+class Cfg {}
+
+class Cfh {}
+
+class Cfi {}
+
+class Cfj {}
+
+class Cfk {}
+
+class Cfl {}
+
+class Cfm {}
+
+class Cfn {}
+
+class Cfo {}
+
+class Cfp {}
+
+class Cfq {}
+
+class Cfr {}
+
+class Cfs {}
+
+class Cft {}
+
+class Cfu {}
+
+class Cfv {}
+
+class Cfw {}
+
+class Cfx {}
+
+class Cfy {}
+
+class Cfz {}
+
+class CfA {}
+
+class CfB {}
+
+class CfC {}
+
+class CfD {}
+
+class CfE {}
+
+class CfF {}
+
+class CfG {}
+
+class CfH {}
+
+class CfI {}
+
+class CfJ {}
+
+class CfK {}
+
+class CfL {}
+
+class CfM {}
+
+class CfN {}
+
+class CfO {}
+
+class CfP {}
+
+class CfQ {}
+
+class CfR {}
+
+class CfS {}
+
+class CfT {}
+
+class CfU {}
+
+class CfV {}
+
+class CfW {}
+
+class CfX {}
+
+class CfY {}
+
+class CfZ {}
+
+class Cga {}
+
+class Cgb {}
+
+class Cgc {}
+
+class Cgd {}
+
+class Cge {}
+
+class Cgf {}
+
+class Cgg {}
+
+class Cgh {}
+
+class Cgi {}
+
+class Cgj {}
+
+class Cgk {}
+
+class Cgl {}
+
+class Cgm {}
+
+class Cgn {}
+
+class Cgo {}
+
+class Cgp {}
+
+class Cgq {}
+
+class Cgr {}
+
+class Cgs {}
+
+class Cgt {}
+
+class Cgu {}
+
+class Cgv {}
+
+class Cgw {}
+
+class Cgx {}
+
+class Cgy {}
+
+class Cgz {}
+
+class CgA {}
+
+class CgB {}
+
+class CgC {}
+
+class CgD {}
+
+class CgE {}
+
+class CgF {}
+
+class CgG {}
+
+class CgH {}
+
+class CgI {}
+
+class CgJ {}
+
+class CgK {}
+
+class CgL {}
+
+class CgM {}
+
+class CgN {}
+
+class CgO {}
+
+class CgP {}
+
+class CgQ {}
+
+class CgR {}
+
+class CgS {}
+
+class CgT {}
+
+class CgU {}
+
+class CgV {}
+
+class CgW {}
+
+class CgX {}
+
+class CgY {}
+
+class CgZ {}
+
+class Cha {}
+
+class Chb {}
+
+class Chc {}
+
+class Chd {}
+
+class Che {}
+
+class Chf {}
+
+class Chg {}
+
+class Chh {}
+
+class Chi {}
+
+class Chj {}
+
+class Chk {}
+
+class Chl {}
+
+class Chm {}
+
+class Chn {}
+
+class Cho {}
+
+class Chp {}
+
+class Chq {}
+
+class Chr {}
+
+class Chs {}
+
+class Cht {}
+
+class Chu {}
+
+class Chv {}
+
+class Chw {}
+
+class Chx {}
+
+class Chy {}
+
+class Chz {}
+
+class ChA {}
+
+class ChB {}
+
+class ChC {}
+
+class ChD {}
+
+class ChE {}
+
+class ChF {}
+
+class ChG {}
+
+class ChH {}
+
+class ChI {}
+
+class ChJ {}
+
+class ChK {}
+
+class ChL {}
+
+class ChM {}
+
+class ChN {}
+
+class ChO {}
+
+class ChP {}
+
+class ChQ {}
+
+class ChR {}
+
+class ChS {}
+
+class ChT {}
+
+class ChU {}
+
+class ChV {}
+
+class ChW {}
+
+class ChX {}
+
+class ChY {}
+
+class ChZ {}
+
+class Cia {}
+
+class Cib {}
+
+class Cic {}
+
+class Cid {}
+
+class Cie {}
+
+class Cif {}
+
+class Cig {}
+
+class Cih {}
+
+class Cii {}
+
+class Cij {}
+
+class Cik {}
+
+class Cil {}
+
+class Cim {}
+
+class Cin {}
+
+class Cio {}
+
+class Cip {}
+
+class Ciq {}
+
+class Cir {}
+
+class Cis {}
+
+class Cit {}
+
+class Ciu {}
+
+class Civ {}
+
+class Ciw {}
+
+class Cix {}
+
+class Ciy {}
+
+class Ciz {}
+
+class CiA {}
+
+class CiB {}
+
+class CiC {}
+
+class CiD {}
+
+class CiE {}
+
+class CiF {}
+
+class CiG {}
+
+class CiH {}
+
+class CiI {}
+
+class CiJ {}
+
+class CiK {}
+
+class CiL {}
+
+class CiM {}
+
+class CiN {}
+
+class CiO {}
+
+class CiP {}
+
+class CiQ {}
+
+class CiR {}
+
+class CiS {}
+
+class CiT {}
+
+class CiU {}
+
+class CiV {}
+
+class CiW {}
+
+class CiX {}
+
+class CiY {}
+
+class CiZ {}
+
+class Cja {}
+
+class Cjb {}
+
+class Cjc {}
+
+class Cjd {}
+
+class Cje {}
+
+class Cjf {}
+
+class Cjg {}
+
+class Cjh {}
+
+class Cji {}
+
+class Cjj {}
+
+class Cjk {}
+
+class Cjl {}
+
+class Cjm {}
+
+class Cjn {}
+
+class Cjo {}
+
+class Cjp {}
+
+class Cjq {}
+
+class Cjr {}
+
+class Cjs {}
+
+class Cjt {}
+
+class Cju {}
+
+class Cjv {}
+
+class Cjw {}
+
+class Cjx {}
+
+class Cjy {}
+
+class Cjz {}
+
+class CjA {}
+
+class CjB {}
+
+class CjC {}
+
+class CjD {}
+
+class CjE {}
+
+class CjF {}
+
+class CjG {}
+
+class CjH {}
+
+class CjI {}
+
+class CjJ {}
+
+class CjK {}
+
+class CjL {}
+
+class CjM {}
+
+class CjN {}
+
+class CjO {}
+
+class CjP {}
+
+class CjQ {}
+
+class CjR {}
+
+class CjS {}
+
+class CjT {}
+
+class CjU {}
+
+class CjV {}
+
+class CjW {}
+
+class CjX {}
+
+class CjY {}
+
+class CjZ {}
+
+class Cka {}
+
+class Ckb {}
+
+class Ckc {}
+
+class Ckd {}
+
+class Cke {}
+
+class Ckf {}
+
+class Ckg {}
+
+class Ckh {}
+
+class Cki {}
+
+class Ckj {}
+
+class Ckk {}
+
+class Ckl {}
+
+class Ckm {}
+
+class Ckn {}
+
+class Cko {}
+
+class Ckp {}
+
+class Ckq {}
+
+class Ckr {}
+
+class Cks {}
+
+class Ckt {}
+
+class Cku {}
+
+class Ckv {}
+
+class Ckw {}
+
+class Ckx {}
+
+class Cky {}
+
+class Ckz {}
+
+class CkA {}
+
+class CkB {}
+
+class CkC {}
+
+class CkD {}
+
+class CkE {}
+
+class CkF {}
+
+class CkG {}
+
+class CkH {}
+
+class CkI {}
+
+class CkJ {}
+
+class CkK {}
+
+class CkL {}
+
+class CkM {}
+
+class CkN {}
+
+class CkO {}
+
+class CkP {}
+
+class CkQ {}
+
+class CkR {}
+
+class CkS {}
+
+class CkT {}
+
+class CkU {}
+
+class CkV {}
+
+class CkW {}
+
+class CkX {}
+
+class CkY {}
+
+class CkZ {}
+
+class Cla {}
+
+class Clb {}
+
+class Clc {}
+
+class Cld {}
+
+class Cle {}
+
+class Clf {}
+
+class Clg {}
+
+class Clh {}
+
+class Cli {}
+
+class Clj {}
+
+class Clk {}
+
+class Cll {}
+
+class Clm {}
+
+class Cln {}
+
+class Clo {}
+
+class Clp {}
+
+class Clq {}
+
+class Clr {}
+
+class Cls {}
+
+class Clt {}
+
+class Clu {}
+
+class Clv {}
+
+class Clw {}
+
+class Clx {}
+
+class Cly {}
+
+class Clz {}
+
+class ClA {}
+
+class ClB {}
+
+class ClC {}
+
+class ClD {}
+
+class ClE {}
+
+class ClF {}
+
+class ClG {}
+
+class ClH {}
+
+class ClI {}
+
+class ClJ {}
+
+class ClK {}
+
+class ClL {}
+
+class ClM {}
+
+class ClN {}
+
+class ClO {}
+
+class ClP {}
+
+class ClQ {}
+
+class ClR {}
+
+class ClS {}
+
+class ClT {}
+
+class ClU {}
+
+class ClV {}
+
+class ClW {}
+
+class ClX {}
+
+class ClY {}
+
+class ClZ {}
+
+class Cma {}
+
+class Cmb {}
+
+class Cmc {}
+
+class Cmd {}
+
+class Cme {}
+
+class Cmf {}
+
+class Cmg {}
+
+class Cmh {}
+
+class Cmi {}
+
+class Cmj {}
+
+class Cmk {}
+
+class Cml {}
+
+class Cmm {}
+
+class Cmn {}
+
+class Cmo {}
+
+class Cmp {}
+
+class Cmq {}
+
+class Cmr {}
+
+class Cms {}
+
+class Cmt {}
+
+class Cmu {}
+
+class Cmv {}
+
+class Cmw {}
+
+class Cmx {}
+
+class Cmy {}
+
+class Cmz {}
+
+class CmA {}
+
+class CmB {}
+
+class CmC {}
+
+class CmD {}
+
+class CmE {}
+
+class CmF {}
+
+class CmG {}
+
+class CmH {}
+
+class CmI {}
+
+class CmJ {}
+
+class CmK {}
+
+class CmL {}
+
+class CmM {}
+
+class CmN {}
+
+class CmO {}
+
+class CmP {}
+
+class CmQ {}
+
+class CmR {}
+
+class CmS {}
+
+class CmT {}
+
+class CmU {}
+
+class CmV {}
+
+class CmW {}
+
+class CmX {}
+
+class CmY {}
+
+class CmZ {}
+
+class Cna {}
+
+class Cnb {}
+
+class Cnc {}
+
+class Cnd {}
+
+class Cne {}
+
+class Cnf {}
+
+class Cng {}
+
+class Cnh {}
+
+class Cni {}
+
+class Cnj {}
+
+class Cnk {}
+
+class Cnl {}
+
+class Cnm {}
+
+class Cnn {}
+
+class Cno {}
+
+class Cnp {}
+
+class Cnq {}
+
+class Cnr {}
+
+class Cns {}
+
+class Cnt {}
+
+class Cnu {}
+
+class Cnv {}
+
+class Cnw {}
+
+class Cnx {}
+
+class Cny {}
+
+class Cnz {}
+
+class CnA {}
+
+class CnB {}
+
+class CnC {}
+
+class CnD {}
+
+class CnE {}
+
+class CnF {}
+
+class CnG {}
+
+class CnH {}
+
+class CnI {}
+
+class CnJ {}
+
+class CnK {}
+
+class CnL {}
+
+class CnM {}
+
+class CnN {}
+
+class CnO {}
+
+class CnP {}
+
+class CnQ {}
+
+class CnR {}
+
+class CnS {}
+
+class CnT {}
+
+class CnU {}
+
+class CnV {}
+
+class CnW {}
+
+class CnX {}
+
+class CnY {}
+
+class CnZ {}
+
+class Coa {}
+
+class Cob {}
+
+class Coc {}
+
+class Cod {}
+
+class Coe {}
+
+class Cof {}
+
+class Cog {}
+
+class Coh {}
+
+class Coi {}
+
+class Coj {}
+
+class Cok {}
+
+class Col {}
+
+class Com {}
+
+class Con {}
+
+class Coo {}
+
+class Cop {}
+
+class Coq {}
+
+class Cor {}
+
+class Cos {}
+
+class Cot {}
+
+class Cou {}
+
+class Cov {}
+
+class Cow {}
+
+class Cox {}
+
+class Coy {}
+
+class Coz {}
+
+class CoA {}
+
+class CoB {}
+
+class CoC {}
+
+class CoD {}
+
+class CoE {}
+
+class CoF {}
+
+class CoG {}
+
+class CoH {}
+
+class CoI {}
+
+class CoJ {}
+
+class CoK {}
+
+class CoL {}
+
+class CoM {}
+
+class CoN {}
+
+class CoO {}
+
+class CoP {}
+
+class CoQ {}
+
+class CoR {}
+
+class CoS {}
+
+class CoT {}
+
+class CoU {}
+
+class CoV {}
+
+class CoW {}
+
+class CoX {}
+
+class CoY {}
+
+class CoZ {}
+
+class Cpa {}
+
+class Cpb {}
+
+class Cpc {}
+
+class Cpd {}
+
+class Cpe {}
+
+class Cpf {}
+
+class Cpg {}
+
+class Cph {}
+
+class Cpi {}
+
+class Cpj {}
+
+class Cpk {}
+
+class Cpl {}
+
+class Cpm {}
+
+class Cpn {}
+
+class Cpo {}
+
+class Cpp {}
+
+class Cpq {}
+
+class Cpr {}
+
+class Cps {}
+
+class Cpt {}
+
+class Cpu {}
+
+class Cpv {}
+
+class Cpw {}
+
+class Cpx {}
+
+class Cpy {}
+
+class Cpz {}
+
+class CpA {}
+
+class CpB {}
+
+class CpC {}
+
+class CpD {}
+
+class CpE {}
+
+class CpF {}
+
+class CpG {}
+
+class CpH {}
+
+class CpI {}
+
+class CpJ {}
+
+class CpK {}
+
+class CpL {}
+
+class CpM {}
+
+class CpN {}
+
+class CpO {}
+
+class CpP {}
+
+class CpQ {}
+
+class CpR {}
+
+class CpS {}
+
+class CpT {}
+
+class CpU {}
+
+class CpV {}
+
+class CpW {}
+
+class CpX {}
+
+class CpY {}
+
+class CpZ {}
+
+class Cqa {}
+
+class Cqb {}
+
+class Cqc {}
+
+class Cqd {}
+
+class Cqe {}
+
+class Cqf {}
+
+class Cqg {}
+
+class Cqh {}
+
+class Cqi {}
+
+class Cqj {}
+
+class Cqk {}
+
+class Cql {}
+
+class Cqm {}
+
+class Cqn {}
+
+class Cqo {}
+
+class Cqp {}
+
+class Cqq {}
+
+class Cqr {}
+
+class Cqs {}
+
+class Cqt {}
+
+class Cqu {}
+
+class Cqv {}
+
+class Cqw {}
+
+class Cqx {}
+
+class Cqy {}
+
+class Cqz {}
+
+class CqA {}
+
+class CqB {}
+
+class CqC {}
+
+class CqD {}
+
+class CqE {}
+
+class CqF {}
+
+class CqG {}
+
+class CqH {}
+
+class CqI {}
+
+class CqJ {}
+
+class CqK {}
+
+class CqL {}
+
+class CqM {}
+
+class CqN {}
+
+class CqO {}
+
+class CqP {}
+
+class CqQ {}
+
+class CqR {}
+
+class CqS {}
+
+class CqT {}
+
+class CqU {}
+
+class CqV {}
+
+class CqW {}
+
+class CqX {}
+
+class CqY {}
+
+class CqZ {}
+
+class Cra {}
+
+class Crb {}
+
+class Crc {}
+
+class Crd {}
+
+class Cre {}
+
+class Crf {}
+
+class Crg {}
+
+class Crh {}
+
+class Cri {}
+
+class Crj {}
+
+class Crk {}
+
+class Crl {}
+
+class Crm {}
+
+class Crn {}
+
+class Cro {}
+
+class Crp {}
+
+class Crq {}
+
+class Crr {}
+
+class Crs {}
+
+class Crt {}
+
+class Cru {}
+
+class Crv {}
+
+class Crw {}
+
+class Crx {}
+
+class Cry {}
+
+class Crz {}
+
+class CrA {}
+
+class CrB {}
+
+class CrC {}
+
+class CrD {}
+
+class CrE {}
+
+class CrF {}
+
+class CrG {}
+
+class CrH {}
+
+class CrI {}
+
+class CrJ {}
+
+class CrK {}
+
+class CrL {}
+
+class CrM {}
+
+class CrN {}
+
+class CrO {}
+
+class CrP {}
+
+class CrQ {}
+
+class CrR {}
+
+class CrS {}
+
+class CrT {}
+
+class CrU {}
+
+class CrV {}
+
+class CrW {}
+
+class CrX {}
+
+class CrY {}
+
+class CrZ {}
+
+class Csa {}
+
+class Csb {}
+
+class Csc {}
+
+class Csd {}
+
+class Cse {}
+
+class Csf {}
+
+class Csg {}
+
+class Csh {}
+
+class Csi {}
+
+class Csj {}
+
+class Csk {}
+
+class Csl {}
+
+class Csm {}
+
+class Csn {}
+
+class Cso {}
+
+class Csp {}
+
+class Csq {}
+
+class Csr {}
+
+class Css {}
+
+class Cst {}
+
+class Csu {}
+
+class Csv {}
+
+class Csw {}
+
+class Csx {}
+
+class Csy {}
+
+class Csz {}
+
+class CsA {}
+
+class CsB {}
+
+class CsC {}
+
+class CsD {}
+
+class CsE {}
+
+class CsF {}
+
+class CsG {}
+
+class CsH {}
+
+class CsI {}
+
+class CsJ {}
+
+class CsK {}
+
+class CsL {}
+
+class CsM {}
+
+class CsN {}
+
+class CsO {}
+
+class CsP {}
+
+class CsQ {}
+
+class CsR {}
+
+class CsS {}
+
+class CsT {}
+
+class CsU {}
+
+class CsV {}
+
+class CsW {}
+
+class CsX {}
+
+class CsY {}
+
+class CsZ {}
+
+class Cta {}
+
+class Ctb {}
+
+class Ctc {}
+
+class Ctd {}
+
+class Cte {}
+
+class Ctf {}
+
+class Ctg {}
+
+class Cth {}
+
+class Cti {}
+
+class Ctj {}
+
+class Ctk {}
+
+class Ctl {}
+
+class Ctm {}
+
+class Ctn {}
+
+class Cto {}
+
+class Ctp {}
+
+class Ctq {}
+
+class Ctr {}
+
+class Cts {}
+
+class Ctt {}
+
+class Ctu {}
+
+class Ctv {}
+
+class Ctw {}
+
+class Ctx {}
+
+class Cty {}
+
+class Ctz {}
+
+class CtA {}
+
+class CtB {}
+
+class CtC {}
+
+class CtD {}
+
+class CtE {}
+
+class CtF {}
+
+class CtG {}
+
+class CtH {}
+
+class CtI {}
+
+class CtJ {}
+
+class CtK {}
+
+class CtL {}
+
+class CtM {}
+
+class CtN {}
+
+class CtO {}
+
+class CtP {}
+
+class CtQ {}
+
+class CtR {}
+
+class CtS {}
+
+class CtT {}
+
+class CtU {}
+
+class CtV {}
+
+class CtW {}
+
+class CtX {}
+
+class CtY {}
+
+class CtZ {}
+
+class Cua {}
+
+class Cub {}
+
+class Cuc {}
+
+class Cud {}
+
+class Cue {}
+
+class Cuf {}
+
+class Cug {}
+
+class Cuh {}
+
+class Cui {}
+
+class Cuj {}
+
+class Cuk {}
+
+class Cul {}
+
+class Cum {}
+
+class Cun {}
+
+class Cuo {}
+
+class Cup {}
+
+class Cuq {}
+
+class Cur {}
+
+class Cus {}
+
+class Cut {}
+
+class Cuu {}
+
+class Cuv {}
+
+class Cuw {}
+
+class Cux {}
+
+class Cuy {}
+
+class Cuz {}
+
+class CuA {}
+
+class CuB {}
+
+class CuC {}
+
+class CuD {}
+
+class CuE {}
+
+class CuF {}
+
+class CuG {}
+
+class CuH {}
+
+class CuI {}
+
+class CuJ {}
+
+class CuK {}
+
+class CuL {}
+
+class CuM {}
+
+class CuN {}
+
+class CuO {}
+
+class CuP {}
+
+class CuQ {}
+
+class CuR {}
+
+class CuS {}
+
+class CuT {}
+
+class CuU {}
+
+class CuV {}
+
+class CuW {}
+
+class CuX {}
+
+class CuY {}
+
+class CuZ {}
+
+class Cva {}
+
+class Cvb {}
+
+class Cvc {}
+
+class Cvd {}
+
+class Cve {}
+
+class Cvf {}
+
+class Cvg {}
+
+class Cvh {}
+
+class Cvi {}
+
+class Cvj {}
+
+class Cvk {}
+
+class Cvl {}
+
+class Cvm {}
+
+class Cvn {}
+
+class Cvo {}
+
+class Cvp {}
+
+class Cvq {}
+
+class Cvr {}
+
+class Cvs {}
+
+class Cvt {}
+
+class Cvu {}
+
+class Cvv {}
+
+class Cvw {}
+
+class Cvx {}
+
+class Cvy {}
+
+class Cvz {}
+
+class CvA {}
+
+class CvB {}
+
+class CvC {}
+
+class CvD {}
+
+class CvE {}
+
+class CvF {}
+
+class CvG {}
+
+class CvH {}
+
+class CvI {}
+
+class CvJ {}
+
+class CvK {}
+
+class CvL {}
+
+class CvM {}
+
+class CvN {}
+
+class CvO {}
+
+class CvP {}
+
+class CvQ {}
+
+class CvR {}
+
+class CvS {}
+
+class CvT {}
+
+class CvU {}
+
+class CvV {}
+
+class CvW {}
+
+class CvX {}
+
+class CvY {}
+
+class CvZ {}
+
+class Cwa {}
+
+class Cwb {}
+
+class Cwc {}
+
+class Cwd {}
+
+class Cwe {}
+
+class Cwf {}
+
+class Cwg {}
+
+class Cwh {}
+
+class Cwi {}
+
+class Cwj {}
+
+class Cwk {}
+
+class Cwl {}
+
+class Cwm {}
+
+class Cwn {}
+
+class Cwo {}
+
+class Cwp {}
+
+class Cwq {}
+
+class Cwr {}
+
+class Cws {}
+
+class Cwt {}
+
+class Cwu {}
+
+class Cwv {}
+
+class Cww {}
+
+class Cwx {}
+
+class Cwy {}
+
+class Cwz {}
+
+class CwA {}
+
+class CwB {}
+
+class CwC {}
+
+class CwD {}
+
+class CwE {}
+
+class CwF {}
+
+class CwG {}
+
+class CwH {}
+
+class CwI {}
+
+class CwJ {}
+
+class CwK {}
+
+class CwL {}
+
+class CwM {}
+
+class CwN {}
+
+class CwO {}
+
+class CwP {}
+
+class CwQ {}
+
+class CwR {}
+
+class CwS {}
+
+class CwT {}
+
+class CwU {}
+
+class CwV {}
+
+class CwW {}
+
+class CwX {}
+
+class CwY {}
+
+class CwZ {}
+
+class Cxa {}
+
+class Cxb {}
+
+class Cxc {}
+
+class Cxd {}
+
+class Cxe {}
+
+class Cxf {}
+
+class Cxg {}
+
+class Cxh {}
+
+class Cxi {}
+
+class Cxj {}
+
+class Cxk {}
+
+class Cxl {}
+
+class Cxm {}
+
+class Cxn {}
+
+class Cxo {}
+
+class Cxp {}
+
+class Cxq {}
+
+class Cxr {}
+
+class Cxs {}
+
+class Cxt {}
+
+class Cxu {}
+
+class Cxv {}
+
+class Cxw {}
+
+class Cxx {}
+
+class Cxy {}
+
+class Cxz {}
+
+class CxA {}
+
+class CxB {}
+
+class CxC {}
+
+class CxD {}
+
+class CxE {}
+
+class CxF {}
+
+class CxG {}
+
+class CxH {}
+
+class CxI {}
+
+class CxJ {}
+
+class CxK {}
+
+class CxL {}
+
+class CxM {}
+
+class CxN {}
+
+class CxO {}
+
+class CxP {}
+
+class CxQ {}
+
+class CxR {}
+
+class CxS {}
+
+class CxT {}
+
+class CxU {}
+
+class CxV {}
+
+class CxW {}
+
+class CxX {}
+
+class CxY {}
+
+class CxZ {}
+
+class Cya {}
+
+class Cyb {}
+
+class Cyc {}
+
+class Cyd {}
+
+class Cye {}
+
+class Cyf {}
+
+class Cyg {}
+
+class Cyh {}
+
+class Cyi {}
+
+class Cyj {}
+
+class Cyk {}
+
+class Cyl {}
+
+class Cym {}
+
+class Cyn {}
+
+class Cyo {}
+
+class Cyp {}
+
+class Cyq {}
+
+class Cyr {}
+
+class Cys {}
+
+class Cyt {}
+
+class Cyu {}
+
+class Cyv {}
+
+class Cyw {}
+
+class Cyx {}
+
+class Cyy {}
+
+class Cyz {}
+
+class CyA {}
+
+class CyB {}
+
+class CyC {}
+
+class CyD {}
+
+class CyE {}
+
+class CyF {}
+
+class CyG {}
+
+class CyH {}
+
+class CyI {}
+
+class CyJ {}
+
+class CyK {}
+
+class CyL {}
+
+class CyM {}
+
+class CyN {}
+
+class CyO {}
+
+class CyP {}
+
+class CyQ {}
+
+class CyR {}
+
+class CyS {}
+
+class CyT {}
+
+class CyU {}
+
+class CyV {}
+
+class CyW {}
+
+class CyX {}
+
+class CyY {}
+
+class CyZ {}
+
+class Cza {}
+
+class Czb {}
+
+class Czc {}
+
+class Czd {}
+
+class Cze {}
+
+class Czf {}
+
+class Czg {}
+
+class Czh {}
+
+class Czi {}
+
+class Czj {}
+
+class Czk {}
+
+class Czl {}
+
+class Czm {}
+
+class Czn {}
+
+class Czo {}
+
+class Czp {}
+
+class Czq {}
+
+class Czr {}
+
+class Czs {}
+
+class Czt {}
+
+class Czu {}
+
+class Czv {}
+
+class Czw {}
+
+class Czx {}
+
+class Czy {}
+
+class Czz {}
+
+class CzA {}
+
+class CzB {}
+
+class CzC {}
+
+class CzD {}
+
+class CzE {}
+
+class CzF {}
+
+class CzG {}
+
+class CzH {}
+
+class CzI {}
+
+class CzJ {}
+
+class CzK {}
+
+class CzL {}
+
+class CzM {}
+
+class CzN {}
+
+class CzO {}
+
+class CzP {}
+
+class CzQ {}
+
+class CzR {}
+
+class CzS {}
+
+class CzT {}
+
+class CzU {}
+
+class CzV {}
+
+class CzW {}
+
+class CzX {}
+
+class CzY {}
+
+class CzZ {}
+
+class CAa {}
+
+class CAb {}
+
+class CAc {}
+
+class CAd {}
+
+class CAe {}
+
+class CAf {}
+
+class CAg {}
+
+class CAh {}
+
+class CAi {}
+
+class CAj {}
+
+class CAk {}
+
+class CAl {}
+
+class CAm {}
+
+class CAn {}
+
+class CAo {}
+
+class CAp {}
+
+class CAq {}
+
+class CAr {}
+
+class CAs {}
+
+class CAt {}
+
+class CAu {}
+
+class CAv {}
+
+class CAw {}
+
+class CAx {}
+
+class CAy {}
+
+class CAz {}
+
+class CAA {}
+
+class CAB {}
+
+class CAC {}
+
+class CAD {}
+
+class CAE {}
+
+class CAF {}
+
+class CAG {}
+
+class CAH {}
+
+class CAI {}
+
+class CAJ {}
+
+class CAK {}
+
+class CAL {}
+
+class CAM {}
+
+class CAN {}
+
+class CAO {}
+
+class CAP {}
+
+class CAQ {}
+
+class CAR {}
+
+class CAS {}
+
+class CAT {}
+
+class CAU {}
+
+class CAV {}
+
+class CAW {}
+
+class CAX {}
+
+class CAY {}
+
+class CAZ {}
+
+class CBa {}
+
+class CBb {}
+
+class CBc {}
+
+class CBd {}
+
+class CBe {}
+
+class CBf {}
+
+class CBg {}
+
+class CBh {}
+
+class CBi {}
+
+class CBj {}
+
+class CBk {}
+
+class CBl {}
+
+class CBm {}
+
+class CBn {}
+
+class CBo {}
+
+class CBp {}
+
+class CBq {}
+
+class CBr {}
+
+class CBs {}
+
+class CBt {}
+
+class CBu {}
+
+class CBv {}
+
+class CBw {}
+
+class CBx {}
+
+class CBy {}
+
+class CBz {}
+
+class CBA {}
+
+class CBB {}
+
+class CBC {}
+
+class CBD {}
+
+class CBE {}
+
+class CBF {}
+
+class CBG {}
+
+class CBH {}
+
+class CBI {}
+
+class CBJ {}
+
+class CBK {}
+
+class CBL {}
+
+class CBM {}
+
+class CBN {}
+
+class CBO {}
+
+class CBP {}
+
+class CBQ {}
+
+class CBR {}
+
+class CBS {}
+
+class CBT {}
+
+class CBU {}
+
+class CBV {}
+
+class CBW {}
+
+class CBX {}
+
+class CBY {}
+
+class CBZ {}
+
+class CCa {}
+
+class CCb {}
+
+class CCc {}
+
+class CCd {}
+
+class CCe {}
+
+class CCf {}
+
+class CCg {}
+
+class CCh {}
+
+class CCi {}
+
+class CCj {}
+
+class CCk {}
+
+class CCl {}
+
+class CCm {}
+
+class CCn {}
+
+class CCo {}
+
+class CCp {}
+
+class CCq {}
+
+class CCr {}
+
+class CCs {}
+
+class CCt {}
+
+class CCu {}
+
+class CCv {}
+
+class CCw {}
+
+class CCx {}
+
+class CCy {}
+
+class CCz {}
+
+class CCA {}
+
+class CCB {}
+
+class CCC {}
+
+class CCD {}
+
+class CCE {}
+
+class CCF {}
+
+class CCG {}
+
+class CCH {}
+
+class CCI {}
+
+class CCJ {}
+
+class CCK {}
+
+class CCL {}
+
+class CCM {}
+
+class CCN {}
+
+class CCO {}
+
+class CCP {}
+
+class CCQ {}
+
+class CCR {}
+
+class CCS {}
+
+class CCT {}
+
+class CCU {}
+
+class CCV {}
+
+class CCW {}
+
+class CCX {}
+
+class CCY {}
+
+class CCZ {}
+
+class CDa {}
+
+class CDb {}
+
+class CDc {}
+
+class CDd {}
+
+class CDe {}
+
+class CDf {}
+
+class CDg {}
+
+class CDh {}
+
+class CDi {}
+
+class CDj {}
+
+class CDk {}
+
+class CDl {}
+
+class CDm {}
+
+class CDn {}
+
+class CDo {}
+
+class CDp {}
+
+class CDq {}
+
+class CDr {}
+
+class CDs {}
+
+class CDt {}
+
+class CDu {}
+
+class CDv {}
+
+class CDw {}
+
+class CDx {}
+
+class CDy {}
+
+class CDz {}
+
+class CDA {}
+
+class CDB {}
+
+class CDC {}
+
+class CDD {}
+
+class CDE {}
+
+class CDF {}
+
+class CDG {}
+
+class CDH {}
+
+class CDI {}
+
+class CDJ {}
+
+class CDK {}
+
+class CDL {}
+
+class CDM {}
+
+class CDN {}
+
+class CDO {}
+
+class CDP {}
+
+class CDQ {}
+
+class CDR {}
+
+class CDS {}
+
+class CDT {}
+
+class CDU {}
+
+class CDV {}
+
+class CDW {}
+
+class CDX {}
+
+class CDY {}
+
+class CDZ {}
+
+class CEa {}
+
+class CEb {}
+
+class CEc {}
+
+class CEd {}
+
+class CEe {}
+
+class CEf {}
+
+class CEg {}
+
+class CEh {}
+
+class CEi {}
+
+class CEj {}
+
+class CEk {}
+
+class CEl {}
+
+class CEm {}
+
+class CEn {}
+
+class CEo {}
+
+class CEp {}
+
+class CEq {}
+
+class CEr {}
+
+class CEs {}
+
+class CEt {}
+
+class CEu {}
+
+class CEv {}
+
+class CEw {}
+
+class CEx {}
+
+class CEy {}
+
+class CEz {}
+
+class CEA {}
+
+class CEB {}
+
+class CEC {}
+
+class CED {}
+
+class CEE {}
+
+class CEF {}
+
+class CEG {}
+
+class CEH {}
+
+class CEI {}
+
+class CEJ {}
+
+class CEK {}
+
+class CEL {}
+
+class CEM {}
+
+class CEN {}
+
+class CEO {}
+
+class CEP {}
+
+class CEQ {}
+
+class CER {}
+
+class CES {}
+
+class CET {}
+
+class CEU {}
+
+class CEV {}
+
+class CEW {}
+
+class CEX {}
+
+class CEY {}
+
+class CEZ {}
+
+class CFa {}
+
+class CFb {}
+
+class CFc {}
+
+class CFd {}
+
+class CFe {}
+
+class CFf {}
+
+class CFg {}
+
+class CFh {}
+
+class CFi {}
+
+class CFj {}
+
+class CFk {}
+
+class CFl {}
+
+class CFm {}
+
+class CFn {}
+
+class CFo {}
+
+class CFp {}
+
+class CFq {}
+
+class CFr {}
+
+class CFs {}
+
+class CFt {}
+
+class CFu {}
+
+class CFv {}
+
+class CFw {}
+
+class CFx {}
+
+class CFy {}
+
+class CFz {}
+
+class CFA {}
+
+class CFB {}
+
+class CFC {}
+
+class CFD {}
+
+class CFE {}
+
+class CFF {}
+
+class CFG {}
+
+class CFH {}
+
+class CFI {}
+
+class CFJ {}
+
+class CFK {}
+
+class CFL {}
+
+class CFM {}
+
+class CFN {}
+
+class CFO {}
+
+class CFP {}
+
+class CFQ {}
+
+class CFR {}
+
+class CFS {}
+
+class CFT {}
+
+class CFU {}
+
+class CFV {}
+
+class CFW {}
+
+class CFX {}
+
+class CFY {}
+
+class CFZ {}
+
+class CGa {}
+
+class CGb {}
+
+class CGc {}
+
+class CGd {}
+
+class CGe {}
+
+class CGf {}
+
+class CGg {}
+
+class CGh {}
+
+class CGi {}
+
+class CGj {}
+
+class CGk {}
+
+class CGl {}
+
+class CGm {}
+
+class CGn {}
+
+class CGo {}
+
+class CGp {}
+
+class CGq {}
+
+class CGr {}
+
+class CGs {}
+
+class CGt {}
+
+class CGu {}
+
+class CGv {}
+
+class CGw {}
+
+class CGx {}
+
+class CGy {}
+
+class CGz {}
+
+class CGA {}
+
+class CGB {}
+
+class CGC {}
+
+class CGD {}
+
+class CGE {}
+
+class CGF {}
+
+class CGG {}
+
+class CGH {}
+
+class CGI {}
+
+class CGJ {}
+
+class CGK {}
+
+class CGL {}
+
+class CGM {}
+
+class CGN {}
+
+class CGO {}
+
+class CGP {}
+
+class CGQ {}
+
+class CGR {}
+
+class CGS {}
+
+class CGT {}
+
+class CGU {}
+
+class CGV {}
+
+class CGW {}
+
+class CGX {}
+
+class CGY {}
+
+class CGZ {}
+
+class CHa {}
+
+class CHb {}
+
+class CHc {}
+
+class CHd {}
+
+class CHe {}
+
+class CHf {}
+
+class CHg {}
+
+class CHh {}
+
+class CHi {}
+
+class CHj {}
+
+class CHk {}
+
+class CHl {}
+
+class CHm {}
+
+class CHn {}
+
+class CHo {}
+
+class CHp {}
+
+class CHq {}
+
+class CHr {}
+
+class CHs {}
+
+class CHt {}
+
+class CHu {}
+
+class CHv {}
+
+class CHw {}
+
+class CHx {}
+
+class CHy {}
+
+class CHz {}
+
+class CHA {}
+
+class CHB {}
+
+class CHC {}
+
+class CHD {}
+
+class CHE {}
+
+class CHF {}
+
+class CHG {}
+
+class CHH {}
+
+class CHI {}
+
+class CHJ {}
+
+class CHK {}
+
+class CHL {}
+
+class CHM {}
+
+class CHN {}
+
+class CHO {}
+
+class CHP {}
+
+class CHQ {}
+
+class CHR {}
+
+class CHS {}
+
+class CHT {}
+
+class CHU {}
+
+class CHV {}
+
+class CHW {}
+
+class CHX {}
+
+class CHY {}
+
+class CHZ {}
+
+class CIa {}
+
+class CIb {}
+
+class CIc {}
+
+class CId {}
+
+class CIe {}
+
+class CIf {}
+
+class CIg {}
+
+class CIh {}
+
+class CIi {}
+
+class CIj {}
+
+class CIk {}
+
+class CIl {}
+
+class CIm {}
+
+class CIn {}
+
+class CIo {}
+
+class CIp {}
+
+class CIq {}
+
+class CIr {}
+
+class CIs {}
+
+class CIt {}
+
+class CIu {}
+
+class CIv {}
+
+class CIw {}
+
+class CIx {}
+
+class CIy {}
+
+class CIz {}
+
+class CIA {}
+
+class CIB {}
+
+class CIC {}
+
+class CID {}
+
+class CIE {}
+
+class CIF {}
+
+class CIG {}
+
+class CIH {}
+
+class CII {}
+
+class CIJ {}
+
+class CIK {}
+
+class CIL {}
+
+class CIM {}
+
+class CIN {}
+
+class CIO {}
+
+class CIP {}
+
+class CIQ {}
+
+class CIR {}
+
+class CIS {}
+
+class CIT {}
+
+class CIU {}
+
+class CIV {}
+
+class CIW {}
+
+class CIX {}
+
+class CIY {}
+
+class CIZ {}
+
+class CJa {}
+
+class CJb {}
+
+class CJc {}
+
+class CJd {}
+
+class CJe {}
+
+class CJf {}
+
+class CJg {}
+
+class CJh {}
+
+class CJi {}
+
+class CJj {}
+
+class CJk {}
+
+class CJl {}
+
+class CJm {}
+
+class CJn {}
+
+class CJo {}
+
+class CJp {}
+
+class CJq {}
+
+class CJr {}
+
+class CJs {}
+
+class CJt {}
+
+class CJu {}
+
+class CJv {}
+
+class CJw {}
+
+class CJx {}
+
+class CJy {}
+
+class CJz {}
+
+class CJA {}
+
+class CJB {}
+
+class CJC {}
+
+class CJD {}
+
+class CJE {}
+
+class CJF {}
+
+class CJG {}
+
+class CJH {}
+
+class CJI {}
+
+class CJJ {}
+
+class CJK {}
+
+class CJL {}
+
+class CJM {}
+
+class CJN {}
+
+class CJO {}
+
+class CJP {}
+
+class CJQ {}
+
+class CJR {}
+
+class CJS {}
+
+class CJT {}
+
+class CJU {}
+
+class CJV {}
+
+class CJW {}
+
+class CJX {}
+
+class CJY {}
+
+class CJZ {}
+
+class CKa {}
+
+class CKb {}
+
+class CKc {}
+
+class CKd {}
+
+class CKe {}
+
+class CKf {}
+
+class CKg {}
+
+class CKh {}
+
+class CKi {}
+
+class CKj {}
+
+class CKk {}
+
+class CKl {}
+
+class CKm {}
+
+class CKn {}
+
+class CKo {}
+
+class CKp {}
+
+class CKq {}
+
+class CKr {}
+
+class CKs {}
+
+class CKt {}
+
+class CKu {}
+
+class CKv {}
+
+class CKw {}
+
+class CKx {}
+
+class CKy {}
+
+class CKz {}
+
+class CKA {}
+
+class CKB {}
+
+class CKC {}
+
+class CKD {}
+
+class CKE {}
+
+class CKF {}
+
+class CKG {}
+
+class CKH {}
+
+class CKI {}
+
+class CKJ {}
+
+class CKK {}
+
+class CKL {}
+
+class CKM {}
+
+class CKN {}
+
+class CKO {}
+
+class CKP {}
+
+class CKQ {}
+
+class CKR {}
+
+class CKS {}
+
+class CKT {}
+
+class CKU {}
+
+class CKV {}
+
+class CKW {}
+
+class CKX {}
+
+class CKY {}
+
+class CKZ {}
+
+class CLa {}
+
+class CLb {}
+
+class CLc {}
+
+class CLd {}
+
+class CLe {}
+
+class CLf {}
+
+class CLg {}
+
+class CLh {}
+
+class CLi {}
+
+class CLj {}
+
+class CLk {}
+
+class CLl {}
+
+class CLm {}
+
+class CLn {}
+
+class CLo {}
+
+class CLp {}
+
+class CLq {}
+
+class CLr {}
+
+class CLs {}
+
+class CLt {}
+
+class CLu {}
+
+class CLv {}
+
+class CLw {}
+
+class CLx {}
+
+class CLy {}
+
+class CLz {}
+
+class CLA {}
+
+class CLB {}
+
+class CLC {}
+
+class CLD {}
+
+class CLE {}
+
+class CLF {}
+
+class CLG {}
+
+class CLH {}
+
+class CLI {}
+
+class CLJ {}
+
+class CLK {}
+
+class CLL {}
+
+class CLM {}
+
+class CLN {}
+
+class CLO {}
+
+class CLP {}
+
+class CLQ {}
+
+class CLR {}
+
+class CLS {}
+
+class CLT {}
+
+class CLU {}
+
+class CLV {}
+
+class CLW {}
+
+class CLX {}
+
+class CLY {}
+
+class CLZ {}
+
+class CMa {}
+
+class CMb {}
+
+class CMc {}
+
+class CMd {}
+
+class CMe {}
+
+class CMf {}
+
+class CMg {}
+
+class CMh {}
+
+class CMi {}
+
+class CMj {}
+
+class CMk {}
+
+class CMl {}
+
+class CMm {}
+
+class CMn {}
+
+class CMo {}
+
+class CMp {}
+
+class CMq {}
+
+class CMr {}
+
+class CMs {}
+
+class CMt {}
+
+class CMu {}
+
+class CMv {}
+
+class CMw {}
+
+class CMx {}
+
+class CMy {}
+
+class CMz {}
+
+class CMA {}
+
+class CMB {}
+
+class CMC {}
+
+class CMD {}
+
+class CME {}
+
+class CMF {}
+
+class CMG {}
+
+class CMH {}
+
+class CMI {}
+
+class CMJ {}
+
+class CMK {}
+
+class CML {}
+
+class CMM {}
+
+class CMN {}
+
+class CMO {}
+
+class CMP {}
+
+class CMQ {}
+
+class CMR {}
+
+class CMS {}
+
+class CMT {}
+
+class CMU {}
+
+class CMV {}
+
+class CMW {}
+
+class CMX {}
+
+class CMY {}
+
+class CMZ {}
+
+class CNa {}
+
+class CNb {}
+
+class CNc {}
+
+class CNd {}
+
+class CNe {}
+
+class CNf {}
+
+class CNg {}
+
+class CNh {}
+
+class CNi {}
+
+class CNj {}
+
+class CNk {}
+
+class CNl {}
+
+class CNm {}
+
+class CNn {}
+
+class CNo {}
+
+class CNp {}
+
+class CNq {}
+
+class CNr {}
+
+class CNs {}
+
+class CNt {}
+
+class CNu {}
+
+class CNv {}
+
+class CNw {}
+
+class CNx {}
+
+class CNy {}
+
+class CNz {}
+
+class CNA {}
+
+class CNB {}
+
+class CNC {}
+
+class CND {}
+
+class CNE {}
+
+class CNF {}
+
+class CNG {}
+
+class CNH {}
+
+class CNI {}
+
+class CNJ {}
+
+class CNK {}
+
+class CNL {}
+
+class CNM {}
+
+class CNN {}
+
+class CNO {}
+
+class CNP {}
+
+class CNQ {}
+
+class CNR {}
+
+class CNS {}
+
+class CNT {}
+
+class CNU {}
+
+class CNV {}
+
+class CNW {}
+
+class CNX {}
+
+class CNY {}
+
+class CNZ {}
+
+class COa {}
+
+class COb {}
+
+class COc {}
+
+class COd {}
+
+class COe {}
+
+class COf {}
+
+class COg {}
+
+class COh {}
+
+class COi {}
+
+class COj {}
+
+class COk {}
+
+class COl {}
+
+class COm {}
+
+class COn {}
+
+class COo {}
+
+class COp {}
+
+class COq {}
+
+class COr {}
+
+class COs {}
+
+class COt {}
+
+class COu {}
+
+class COv {}
+
+class COw {}
+
+class COx {}
+
+class COy {}
+
+class COz {}
+
+class COA {}
+
+class COB {}
+
+class COC {}
+
+class COD {}
+
+class COE {}
+
+class COF {}
+
+class COG {}
+
+class COH {}
+
+class COI {}
+
+class COJ {}
+
+class COK {}
+
+class COL {}
+
+class COM {}
+
+class CON {}
+
+class COO {}
+
+class COP {}
+
+class COQ {}
+
+class COR {}
+
+class COS {}
+
+class COT {}
+
+class COU {}
+
+class COV {}
+
+class COW {}
+
+class COX {}
+
+class COY {}
+
+class COZ {}
+
+class CPa {}
+
+class CPb {}
+
+class CPc {}
+
+class CPd {}
+
+class CPe {}
+
+class CPf {}
+
+class CPg {}
+
+class CPh {}
+
+class CPi {}
+
+class CPj {}
+
+class CPk {}
+
+class CPl {}
+
+class CPm {}
+
+class CPn {}
+
+class CPo {}
+
+class CPp {}
+
+class CPq {}
+
+class CPr {}
+
+class CPs {}
+
+class CPt {}
+
+class CPu {}
+
+class CPv {}
+
+class CPw {}
+
+class CPx {}
+
+class CPy {}
+
+class CPz {}
+
+class CPA {}
+
+class CPB {}
+
+class CPC {}
+
+class CPD {}
+
+class CPE {}
+
+class CPF {}
+
+class CPG {}
+
+class CPH {}
+
+class CPI {}
+
+class CPJ {}
+
+class CPK {}
+
+class CPL {}
+
+class CPM {}
+
+class CPN {}
+
+class CPO {}
+
+class CPP {}
+
+class CPQ {}
+
+class CPR {}
+
+class CPS {}
+
+class CPT {}
+
+class CPU {}
+
+class CPV {}
+
+class CPW {}
+
+class CPX {}
+
+class CPY {}
+
+class CPZ {}
+
+class CQa {}
+
+class CQb {}
+
+class CQc {}
+
+class CQd {}
+
+class CQe {}
+
+class CQf {}
+
+class CQg {}
+
+class CQh {}
+
+class CQi {}
+
+class CQj {}
+
+class CQk {}
+
+class CQl {}
+
+class CQm {}
+
+class CQn {}
+
+class CQo {}
+
+class CQp {}
+
+class CQq {}
+
+class CQr {}
+
+class CQs {}
+
+class CQt {}
+
+class CQu {}
+
+class CQv {}
+
+class CQw {}
+
+class CQx {}
+
+class CQy {}
+
+class CQz {}
+
+class CQA {}
+
+class CQB {}
+
+class CQC {}
+
+class CQD {}
+
+class CQE {}
+
+class CQF {}
+
+class CQG {}
+
+class CQH {}
+
+class CQI {}
+
+class CQJ {}
+
+class CQK {}
+
+class CQL {}
+
+class CQM {}
+
+class CQN {}
+
+class CQO {}
+
+class CQP {}
+
+class CQQ {}
+
+class CQR {}
+
+class CQS {}
+
+class CQT {}
+
+class CQU {}
+
+class CQV {}
+
+class CQW {}
+
+class CQX {}
+
+class CQY {}
+
+class CQZ {}
+
+class CRa {}
+
+class CRb {}
+
+class CRc {}
+
+class CRd {}
+
+class CRe {}
+
+class CRf {}
+
+class CRg {}
+
+class CRh {}
+
+class CRi {}
+
+class CRj {}
+
+class CRk {}
+
+class CRl {}
+
+class CRm {}
+
+class CRn {}
+
+class CRo {}
+
+class CRp {}
+
+class CRq {}
+
+class CRr {}
+
+class CRs {}
+
+class CRt {}
+
+class CRu {}
+
+class CRv {}
+
+class CRw {}
+
+class CRx {}
+
+class CRy {}
+
+class CRz {}
+
+class CRA {}
+
+class CRB {}
+
+class CRC {}
+
+class CRD {}
+
+class CRE {}
+
+class CRF {}
+
+class CRG {}
+
+class CRH {}
+
+class CRI {}
+
+class CRJ {}
+
+class CRK {}
+
+class CRL {}
+
+class CRM {}
+
+class CRN {}
+
+class CRO {}
+
+class CRP {}
+
+class CRQ {}
+
+class CRR {}
+
+class CRS {}
+
+class CRT {}
+
+class CRU {}
+
+class CRV {}
+
+class CRW {}
+
+class CRX {}
+
+class CRY {}
+
+class CRZ {}
+
+class CSa {}
+
+class CSb {}
+
+class CSc {}
+
+class CSd {}
+
+class CSe {}
+
+class CSf {}
+
+class CSg {}
+
+class CSh {}
+
+class CSi {}
+
+class CSj {}
+
+class CSk {}
+
+class CSl {}
+
+class CSm {}
+
+class CSn {}
+
+class CSo {}
+
+class CSp {}
+
+class CSq {}
+
+class CSr {}
+
+class CSs {}
+
+class CSt {}
+
+class CSu {}
+
+class CSv {}
+
+class CSw {}
+
+class CSx {}
+
+class CSy {}
+
+class CSz {}
+
+class CSA {}
+
+class CSB {}
+
+class CSC {}
+
+class CSD {}
+
+class CSE {}
+
+class CSF {}
+
+class CSG {}
+
+class CSH {}
+
+class CSI {}
+
+class CSJ {}
+
+class CSK {}
+
+class CSL {}
+
+class CSM {}
+
+class CSN {}
+
+class CSO {}
+
+class CSP {}
+
+class CSQ {}
+
+class CSR {}
+
+class CSS {}
+
+class CST {}
+
+class CSU {}
+
+class CSV {}
+
+class CSW {}
+
+class CSX {}
+
+class CSY {}
+
+class CSZ {}
+
+class CTa {}
+
+class CTb {}
+
+class CTc {}
+
+class CTd {}
+
+class CTe {}
+
+class CTf {}
+
+class CTg {}
+
+class CTh {}
+
+class CTi {}
+
+class CTj {}
+
+class CTk {}
+
+class CTl {}
+
+class CTm {}
+
+class CTn {}
+
+class CTo {}
+
+class CTp {}
+
+class CTq {}
+
+class CTr {}
+
+class CTs {}
+
+class CTt {}
+
+class CTu {}
+
+class CTv {}
+
+class CTw {}
+
+class CTx {}
+
+class CTy {}
+
+class CTz {}
+
+class CTA {}
+
+class CTB {}
+
+class CTC {}
+
+class CTD {}
+
+class CTE {}
+
+class CTF {}
+
+class CTG {}
+
+class CTH {}
+
+class CTI {}
+
+class CTJ {}
+
+class CTK {}
+
+class CTL {}
+
+class CTM {}
+
+class CTN {}
+
+class CTO {}
+
+class CTP {}
+
+class CTQ {}
+
+class CTR {}
+
+class CTS {}
+
+class CTT {}
+
+class CTU {}
+
+class CTV {}
+
+class CTW {}
+
+class CTX {}
+
+class CTY {}
+
+class CTZ {}
+
+class CUa {}
+
+class CUb {}
+
+class CUc {}
+
+class CUd {}
+
+class CUe {}
+
+class CUf {}
+
+class CUg {}
+
+class CUh {}
+
+class CUi {}
+
+class CUj {}
+
+class CUk {}
+
+class CUl {}
+
+class CUm {}
+
+class CUn {}
+
+class CUo {}
+
+class CUp {}
+
+class CUq {}
+
+class CUr {}
+
+class CUs {}
+
+class CUt {}
+
+class CUu {}
+
+class CUv {}
+
+class CUw {}
+
+class CUx {}
+
+class CUy {}
+
+class CUz {}
+
+class CUA {}
+
+class CUB {}
+
+class CUC {}
+
+class CUD {}
+
+class CUE {}
+
+class CUF {}
+
+class CUG {}
+
+class CUH {}
+
+class CUI {}
+
+class CUJ {}
+
+class CUK {}
+
+class CUL {}
+
+class CUM {}
+
+class CUN {}
+
+class CUO {}
+
+class CUP {}
+
+class CUQ {}
+
+class CUR {}
+
+class CUS {}
+
+class CUT {}
+
+class CUU {}
+
+class CUV {}
+
+class CUW {}
+
+class CUX {}
+
+class CUY {}
+
+class CUZ {}
+
+class CVa {}
+
+class CVb {}
+
+class CVc {}
+
+class CVd {}
+
+class CVe {}
+
+class CVf {}
+
+class CVg {}
+
+class CVh {}
+
+class CVi {}
+
+class CVj {}
+
+class CVk {}
+
+class CVl {}
+
+class CVm {}
+
+class CVn {}
+
+class CVo {}
+
+class CVp {}
+
+class CVq {}
+
+class CVr {}
+
+class CVs {}
+
+class CVt {}
+
+class CVu {}
+
+class CVv {}
+
+class CVw {}
+
+class CVx {}
+
+class CVy {}
+
+class CVz {}
+
+class CVA {}
+
+class CVB {}
+
+class CVC {}
+
+class CVD {}
+
+class CVE {}
+
+class CVF {}
+
+class CVG {}
+
+class CVH {}
+
+class CVI {}
+
+class CVJ {}
+
+class CVK {}
+
+class CVL {}
+
+class CVM {}
+
+class CVN {}
+
+class CVO {}
+
+class CVP {}
+
+class CVQ {}
+
+class CVR {}
+
+class CVS {}
+
+class CVT {}
+
+class CVU {}
+
+class CVV {}
+
+class CVW {}
+
+class CVX {}
+
+class CVY {}
+
+class CVZ {}
+
+class CWa {}
+
+class CWb {}
+
+class CWc {}
+
+class CWd {}
+
+class CWe {}
+
+class CWf {}
+
+class CWg {}
+
+class CWh {}
+
+class CWi {}
+
+class CWj {}
+
+class CWk {}
+
+class CWl {}
+
+class CWm {}
+
+class CWn {}
+
+class CWo {}
+
+class CWp {}
+
+class CWq {}
+
+class CWr {}
+
+class CWs {}
+
+class CWt {}
+
+class CWu {}
+
+class CWv {}
+
+class CWw {}
+
+class CWx {}
+
+class CWy {}
+
+class CWz {}
+
+class CWA {}
+
+class CWB {}
+
+class CWC {}
+
+class CWD {}
+
+class CWE {}
+
+class CWF {}
+
+class CWG {}
+
+class CWH {}
+
+class CWI {}
+
+class CWJ {}
+
+class CWK {}
+
+class CWL {}
+
+class CWM {}
+
+class CWN {}
+
+class CWO {}
+
+class CWP {}
+
+class CWQ {}
+
+class CWR {}
+
+class CWS {}
+
+class CWT {}
+
+class CWU {}
+
+class CWV {}
+
+class CWW {}
+
+class CWX {}
+
+class CWY {}
+
+class CWZ {}
+
+class CXa {}
+
+class CXb {}
+
+class CXc {}
+
+class CXd {}
+
+class CXe {}
+
+class CXf {}
+
+class CXg {}
+
+class CXh {}
+
+class CXi {}
+
+class CXj {}
+
+class CXk {}
+
+class CXl {}
+
+class CXm {}
+
+class CXn {}
+
+class CXo {}
+
+class CXp {}
+
+class CXq {}
+
+class CXr {}
+
+class CXs {}
+
+class CXt {}
+
+class CXu {}
+
+class CXv {}
+
+class CXw {}
+
+class CXx {}
+
+class CXy {}
+
+class CXz {}
+
+class CXA {}
+
+class CXB {}
+
+class CXC {}
+
+class CXD {}
+
+class CXE {}
+
+class CXF {}
+
+class CXG {}
+
+class CXH {}
+
+class CXI {}
+
+class CXJ {}
+
+class CXK {}
+
+class CXL {}
+
+class CXM {}
+
+class CXN {}
+
+class CXO {}
+
+class CXP {}
+
+class CXQ {}
+
+class CXR {}
+
+class CXS {}
+
+class CXT {}
+
+class CXU {}
+
+class CXV {}
+
+class CXW {}
+
+class CXX {}
+
+class CXY {}
+
+class CXZ {}
+
+class CYa {}
+
+class CYb {}
+
+class CYc {}
+
+class CYd {}
+
+class CYe {}
+
+class CYf {}
+
+class CYg {}
+
+class CYh {}
+
+class CYi {}
+
+class CYj {}
+
+class CYk {}
+
+class CYl {}
+
+class CYm {}
+
+class CYn {}
+
+class CYo {}
+
+class CYp {}
+
+class CYq {}
+
+class CYr {}
+
+class CYs {}
+
+class CYt {}
+
+class CYu {}
+
+class CYv {}
+
+class CYw {}
+
+class CYx {}
+
+class CYy {}
+
+class CYz {}
+
+class CYA {}
+
+class CYB {}
+
+class CYC {}
+
+class CYD {}
+
+class CYE {}
+
+class CYF {}
+
+class CYG {}
+
+class CYH {}
+
+class CYI {}
+
+class CYJ {}
+
+class CYK {}
+
+class CYL {}
+
+class CYM {}
+
+class CYN {}
+
+class CYO {}
+
+class CYP {}
+
+class CYQ {}
+
+class CYR {}
+
+class CYS {}
+
+class CYT {}
+
+class CYU {}
+
+class CYV {}
+
+class CYW {}
+
+class CYX {}
+
+class CYY {}
+
+class CYZ {}
+
+class CZa {}
+
+class CZb {}
+
+class CZc {}
+
+class CZd {}
+
+class CZe {}
+
+class CZf {}
+
+class CZg {}
+
+class CZh {}
+
+class CZi {}
+
+class CZj {}
+
+class CZk {}
+
+class CZl {}
+
+class CZm {}
+
+class CZn {}
+
+class CZo {}
+
+class CZp {}
+
+class CZq {}
+
+class CZr {}
+
+class CZs {}
+
+class CZt {}
+
+class CZu {}
+
+class CZv {}
+
+class CZw {}
+
+class CZx {}
+
+class CZy {}
+
+class CZz {}
+
+class CZA {}
+
+class CZB {}
+
+class CZC {}
+
+class CZD {}
+
+class CZE {}
+
+class CZF {}
+
+class CZG {}
+
+class CZH {}
+
+class CZI {}
+
+class CZJ {}
+
+class CZK {}
+
+class CZL {}
+
+class CZM {}
+
+class CZN {}
+
+class CZO {}
+
+class CZP {}
+
+class CZQ {}
+
+class CZR {}
+
+class CZS {}
+
+class CZT {}
+
+class CZU {}
+
+class CZV {}
+
+class CZW {}
+
+class CZX {}
+
+class CZY {}
+
+class CZZ {}
diff --git a/tests/language/class/codegen_test.dart b/tests/language/class/codegen_test.dart
new file mode 100644
index 0000000..cbece1d
--- /dev/null
+++ b/tests/language/class/codegen_test.dart
@@ -0,0 +1,30 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+class A {
+ A() : x = 3;
+ foo() => x;
+ var x;
+}
+
+class B extends A {
+ bar() => 499;
+}
+
+class C extends A {
+ bar() => 42;
+}
+
+main() {
+ // We don't instantiate A, but the codegen still needs to emit (parts of) it
+ // for inheritance purposes.
+ var b = new B();
+ var c = new C();
+ Expect.equals(3, b.foo());
+ Expect.equals(3, c.foo());
+ Expect.equals(499, b.bar());
+ Expect.equals(42, c.bar());
+}
diff --git a/tests/language/class/cycle2_test.dart b/tests/language/class/cycle2_test.dart
new file mode 100644
index 0000000..2b1bb65
--- /dev/null
+++ b/tests/language/class/cycle2_test.dart
@@ -0,0 +1,18 @@
+// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// Check fail because of cycles in super class relationship.
+
+class C extends B {}
+
+class A extends B {}
+
+class B
+ extends A // //# 01: compile-time error
+ extends A // //# 02: compile-time error
+{}
+
+main() {
+ new C(); // //# 01: continued
+ new List<C>(); // //# 02: continued
+}
diff --git a/tests/language/class/cycle_test.dart b/tests/language/class/cycle_test.dart
new file mode 100644
index 0000000..dbc11a0
--- /dev/null
+++ b/tests/language/class/cycle_test.dart
@@ -0,0 +1,31 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// Check fail because of cycles in super class relationship.
+
+import "package:expect/expect.dart";
+
+class Foo implements Bar {}
+
+class C {}
+
+class Bar
+ extends Foo // //# 00: compile-time error
+ implements Foo // //# 01: compile-time error
+{}
+
+class ImplementsC implements C
+, C // //# 02: compile-time error
+{}
+
+// Spec says: It is a compile-time error if the superclass
+// of a class C appears in the implements clause of C.
+class ExtendsC extends C
+implements C // //# 03: compile-time error
+{}
+
+main() {
+ Expect.isTrue(new Foo() is Foo);
+ Expect.isTrue(new ImplementsC() is C);
+ Expect.isTrue(new ExtendsC() is C);
+}
diff --git a/tests/language/class/cyclic_class_member_runtime_test.dart b/tests/language/class/cyclic_class_member_runtime_test.dart
new file mode 100644
index 0000000..17cea8d
--- /dev/null
+++ b/tests/language/class/cyclic_class_member_runtime_test.dart
@@ -0,0 +1,20 @@
+// TODO(multitest): This was automatically migrated from a multitest and may
+// contain strange or dead code.
+
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Test that class with a cyclic hierarchy doesn't cause a loop in dart2js.
+
+class A
+
+{
+ // When checking that foo isn't overriding an instance method in the
+ // superclass, dart2js might loop.
+ static foo() {}
+}
+
+main() {
+ new A();
+}
diff --git a/tests/language/class/cyclic_class_member_test.dart b/tests/language/class/cyclic_class_member_test.dart
new file mode 100644
index 0000000..516943f
--- /dev/null
+++ b/tests/language/class/cyclic_class_member_test.dart
@@ -0,0 +1,20 @@
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Test that class with a cyclic hierarchy doesn't cause a loop in dart2js.
+
+class A
+// ^
+// [analyzer] COMPILE_TIME_ERROR.RECURSIVE_INTERFACE_INHERITANCE_EXTENDS
+// [cfe] 'A' is a supertype of itself.
+ extends A
+{
+ // When checking that foo isn't overriding an instance method in the
+ // superclass, dart2js might loop.
+ static foo() {}
+}
+
+main() {
+ new A();
+}
diff --git a/tests/language/class/inheritance_chain_lib.dart b/tests/language/class/inheritance_chain_lib.dart
new file mode 100644
index 0000000..c80834f
--- /dev/null
+++ b/tests/language/class/inheritance_chain_lib.dart
@@ -0,0 +1,25 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "inheritance_chain_test.dart";
+
+class B extends C {
+ get id => "B";
+ get length => 2;
+}
+
+class D extends Z {
+ get id => "D";
+ get length => 4;
+}
+
+class W {
+ get id => "W";
+ get length => -4;
+}
+
+class Y extends X {
+ get id => "Y";
+ get length => -2;
+}
diff --git a/tests/language/class/inheritance_chain_test.dart b/tests/language/class/inheritance_chain_test.dart
new file mode 100644
index 0000000..cc0d80e
--- /dev/null
+++ b/tests/language/class/inheritance_chain_test.dart
@@ -0,0 +1,103 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+import "inheritance_chain_lib.dart";
+
+class A extends B {
+ get id => "A";
+ get length => 1;
+}
+
+class C extends D {
+ get id => "C";
+ get length => 3;
+}
+
+class X extends W {
+ get id => "X";
+ get length => -3;
+}
+
+class Z extends Y {
+ get id => "Z";
+ get length => -1;
+}
+
+main() {
+ var instances = <dynamic>[
+ new A(),
+ new B(),
+ new C(),
+ new D(),
+ new W(),
+ new X(),
+ new Y(),
+ new Z(),
+ [],
+ ];
+
+ var o = instances[0];
+ Expect.equals("A", o.id);
+ Expect.equals(1, o.length);
+ Expect.isTrue(o is A);
+ Expect.isTrue(o is B);
+ Expect.isTrue(o is C);
+ Expect.isTrue(o is D);
+ Expect.isTrue(o is W);
+ Expect.isTrue(o is X);
+ Expect.isTrue(o is Y);
+ Expect.isTrue(o is Z);
+ o = instances[1];
+ Expect.equals("B", o.id);
+ Expect.equals(2, o.length);
+ Expect.isTrue(o is B);
+ Expect.isTrue(o is C);
+ Expect.isTrue(o is D);
+ Expect.isTrue(o is W);
+ Expect.isTrue(o is X);
+ Expect.isTrue(o is Y);
+ Expect.isTrue(o is Z);
+ o = instances[2];
+ Expect.equals("C", o.id);
+ Expect.equals(3, o.length);
+ Expect.isTrue(o is C);
+ Expect.isTrue(o is D);
+ Expect.isTrue(o is W);
+ Expect.isTrue(o is X);
+ Expect.isTrue(o is Y);
+ Expect.isTrue(o is Z);
+ o = instances[3];
+ Expect.equals("D", o.id);
+ Expect.equals(4, o.length);
+ Expect.isTrue(o is D);
+ Expect.isTrue(o is W);
+ Expect.isTrue(o is X);
+ Expect.isTrue(o is Y);
+ Expect.isTrue(o is Z);
+ o = instances[4];
+ Expect.equals("W", o.id);
+ Expect.equals(-4, o.length);
+ Expect.isTrue(o is W);
+ o = instances[5];
+ Expect.equals("X", o.id);
+ Expect.equals(-3, o.length);
+ Expect.isTrue(o is X);
+ Expect.isTrue(o is W);
+ o = instances[6];
+ Expect.equals("Y", o.id);
+ Expect.equals(-2, o.length);
+ Expect.isTrue(o is Y);
+ Expect.isTrue(o is X);
+ Expect.isTrue(o is W);
+ o = instances[7];
+ Expect.equals("Z", o.id);
+ Expect.equals(-1, o.length);
+ Expect.isTrue(o is Z);
+ Expect.isTrue(o is Y);
+ Expect.isTrue(o is X);
+ Expect.isTrue(o is W);
+ o = instances[8];
+ Expect.equals(0, o.length);
+}
diff --git a/tests/language/class/keyword_runtime_test.dart b/tests/language/class/keyword_runtime_test.dart
new file mode 100644
index 0000000..3b6e2bd
--- /dev/null
+++ b/tests/language/class/keyword_runtime_test.dart
@@ -0,0 +1,15 @@
+// TODO(multitest): This was automatically migrated from a multitest and may
+// contain strange or dead code.
+
+// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Test that "class" cannot be used as identifier.
+
+class foo {}
+
+void main() {
+
+
+}
diff --git a/tests/language/class/keyword_test.dart b/tests/language/class/keyword_test.dart
new file mode 100644
index 0000000..891c4a7
--- /dev/null
+++ b/tests/language/class/keyword_test.dart
@@ -0,0 +1,27 @@
+// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Test that "class" cannot be used as identifier.
+
+class foo {}
+
+void main() {
+ int class = 10;
+//^^^
+// [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
+// [cfe] Expected ';' after this.
+// ^^^^^
+// [analyzer] STATIC_WARNING.UNDEFINED_IDENTIFIER
+// [cfe] Expected an identifier, but got 'class'.
+// ^^^^^
+// [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+// [cfe] Setter not found: 'class'.
+ print("$class");
+ // ^^^^^
+ // [analyzer] STATIC_WARNING.UNDEFINED_IDENTIFIER
+ // [cfe] Expected an identifier, but got 'class'.
+ // ^^^^^
+ // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+ // [cfe] Getter not found: 'class'.
+}
diff --git a/tests/language/class/large_class_declaration_test.dart b/tests/language/class/large_class_declaration_test.dart
new file mode 100644
index 0000000..15c6721
--- /dev/null
+++ b/tests/language/class/large_class_declaration_test.dart
@@ -0,0 +1,20018 @@
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Dart test program for testing compilation of classes with a large number
+// of fields.
+
+import "package:expect/expect.dart";
+
+class A {
+ var a0;
+ var a1;
+ var a2;
+ var a3;
+ var a4;
+ var a5;
+ var a6;
+ var a7;
+ var a8;
+ var a9;
+ var a10;
+ var a11;
+ var a12;
+ var a13;
+ var a14;
+ var a15;
+ var a16;
+ var a17;
+ var a18;
+ var a19;
+ var a20;
+ var a21;
+ var a22;
+ var a23;
+ var a24;
+ var a25;
+ var a26;
+ var a27;
+ var a28;
+ var a29;
+ var a30;
+ var a31;
+ var a32;
+ var a33;
+ var a34;
+ var a35;
+ var a36;
+ var a37;
+ var a38;
+ var a39;
+ var a40;
+ var a41;
+ var a42;
+ var a43;
+ var a44;
+ var a45;
+ var a46;
+ var a47;
+ var a48;
+ var a49;
+ var a50;
+ var a51;
+ var a52;
+ var a53;
+ var a54;
+ var a55;
+ var a56;
+ var a57;
+ var a58;
+ var a59;
+ var a60;
+ var a61;
+ var a62;
+ var a63;
+ var a64;
+ var a65;
+ var a66;
+ var a67;
+ var a68;
+ var a69;
+ var a70;
+ var a71;
+ var a72;
+ var a73;
+ var a74;
+ var a75;
+ var a76;
+ var a77;
+ var a78;
+ var a79;
+ var a80;
+ var a81;
+ var a82;
+ var a83;
+ var a84;
+ var a85;
+ var a86;
+ var a87;
+ var a88;
+ var a89;
+ var a90;
+ var a91;
+ var a92;
+ var a93;
+ var a94;
+ var a95;
+ var a96;
+ var a97;
+ var a98;
+ var a99;
+ var a100;
+ var a101;
+ var a102;
+ var a103;
+ var a104;
+ var a105;
+ var a106;
+ var a107;
+ var a108;
+ var a109;
+ var a110;
+ var a111;
+ var a112;
+ var a113;
+ var a114;
+ var a115;
+ var a116;
+ var a117;
+ var a118;
+ var a119;
+ var a120;
+ var a121;
+ var a122;
+ var a123;
+ var a124;
+ var a125;
+ var a126;
+ var a127;
+ var a128;
+ var a129;
+ var a130;
+ var a131;
+ var a132;
+ var a133;
+ var a134;
+ var a135;
+ var a136;
+ var a137;
+ var a138;
+ var a139;
+ var a140;
+ var a141;
+ var a142;
+ var a143;
+ var a144;
+ var a145;
+ var a146;
+ var a147;
+ var a148;
+ var a149;
+ var a150;
+ var a151;
+ var a152;
+ var a153;
+ var a154;
+ var a155;
+ var a156;
+ var a157;
+ var a158;
+ var a159;
+ var a160;
+ var a161;
+ var a162;
+ var a163;
+ var a164;
+ var a165;
+ var a166;
+ var a167;
+ var a168;
+ var a169;
+ var a170;
+ var a171;
+ var a172;
+ var a173;
+ var a174;
+ var a175;
+ var a176;
+ var a177;
+ var a178;
+ var a179;
+ var a180;
+ var a181;
+ var a182;
+ var a183;
+ var a184;
+ var a185;
+ var a186;
+ var a187;
+ var a188;
+ var a189;
+ var a190;
+ var a191;
+ var a192;
+ var a193;
+ var a194;
+ var a195;
+ var a196;
+ var a197;
+ var a198;
+ var a199;
+ var a200;
+ var a201;
+ var a202;
+ var a203;
+ var a204;
+ var a205;
+ var a206;
+ var a207;
+ var a208;
+ var a209;
+ var a210;
+ var a211;
+ var a212;
+ var a213;
+ var a214;
+ var a215;
+ var a216;
+ var a217;
+ var a218;
+ var a219;
+ var a220;
+ var a221;
+ var a222;
+ var a223;
+ var a224;
+ var a225;
+ var a226;
+ var a227;
+ var a228;
+ var a229;
+ var a230;
+ var a231;
+ var a232;
+ var a233;
+ var a234;
+ var a235;
+ var a236;
+ var a237;
+ var a238;
+ var a239;
+ var a240;
+ var a241;
+ var a242;
+ var a243;
+ var a244;
+ var a245;
+ var a246;
+ var a247;
+ var a248;
+ var a249;
+ var a250;
+ var a251;
+ var a252;
+ var a253;
+ var a254;
+ var a255;
+ var a256;
+ var a257;
+ var a258;
+ var a259;
+ var a260;
+ var a261;
+ var a262;
+ var a263;
+ var a264;
+ var a265;
+ var a266;
+ var a267;
+ var a268;
+ var a269;
+ var a270;
+ var a271;
+ var a272;
+ var a273;
+ var a274;
+ var a275;
+ var a276;
+ var a277;
+ var a278;
+ var a279;
+ var a280;
+ var a281;
+ var a282;
+ var a283;
+ var a284;
+ var a285;
+ var a286;
+ var a287;
+ var a288;
+ var a289;
+ var a290;
+ var a291;
+ var a292;
+ var a293;
+ var a294;
+ var a295;
+ var a296;
+ var a297;
+ var a298;
+ var a299;
+ var a300;
+ var a301;
+ var a302;
+ var a303;
+ var a304;
+ var a305;
+ var a306;
+ var a307;
+ var a308;
+ var a309;
+ var a310;
+ var a311;
+ var a312;
+ var a313;
+ var a314;
+ var a315;
+ var a316;
+ var a317;
+ var a318;
+ var a319;
+ var a320;
+ var a321;
+ var a322;
+ var a323;
+ var a324;
+ var a325;
+ var a326;
+ var a327;
+ var a328;
+ var a329;
+ var a330;
+ var a331;
+ var a332;
+ var a333;
+ var a334;
+ var a335;
+ var a336;
+ var a337;
+ var a338;
+ var a339;
+ var a340;
+ var a341;
+ var a342;
+ var a343;
+ var a344;
+ var a345;
+ var a346;
+ var a347;
+ var a348;
+ var a349;
+ var a350;
+ var a351;
+ var a352;
+ var a353;
+ var a354;
+ var a355;
+ var a356;
+ var a357;
+ var a358;
+ var a359;
+ var a360;
+ var a361;
+ var a362;
+ var a363;
+ var a364;
+ var a365;
+ var a366;
+ var a367;
+ var a368;
+ var a369;
+ var a370;
+ var a371;
+ var a372;
+ var a373;
+ var a374;
+ var a375;
+ var a376;
+ var a377;
+ var a378;
+ var a379;
+ var a380;
+ var a381;
+ var a382;
+ var a383;
+ var a384;
+ var a385;
+ var a386;
+ var a387;
+ var a388;
+ var a389;
+ var a390;
+ var a391;
+ var a392;
+ var a393;
+ var a394;
+ var a395;
+ var a396;
+ var a397;
+ var a398;
+ var a399;
+ var a400;
+ var a401;
+ var a402;
+ var a403;
+ var a404;
+ var a405;
+ var a406;
+ var a407;
+ var a408;
+ var a409;
+ var a410;
+ var a411;
+ var a412;
+ var a413;
+ var a414;
+ var a415;
+ var a416;
+ var a417;
+ var a418;
+ var a419;
+ var a420;
+ var a421;
+ var a422;
+ var a423;
+ var a424;
+ var a425;
+ var a426;
+ var a427;
+ var a428;
+ var a429;
+ var a430;
+ var a431;
+ var a432;
+ var a433;
+ var a434;
+ var a435;
+ var a436;
+ var a437;
+ var a438;
+ var a439;
+ var a440;
+ var a441;
+ var a442;
+ var a443;
+ var a444;
+ var a445;
+ var a446;
+ var a447;
+ var a448;
+ var a449;
+ var a450;
+ var a451;
+ var a452;
+ var a453;
+ var a454;
+ var a455;
+ var a456;
+ var a457;
+ var a458;
+ var a459;
+ var a460;
+ var a461;
+ var a462;
+ var a463;
+ var a464;
+ var a465;
+ var a466;
+ var a467;
+ var a468;
+ var a469;
+ var a470;
+ var a471;
+ var a472;
+ var a473;
+ var a474;
+ var a475;
+ var a476;
+ var a477;
+ var a478;
+ var a479;
+ var a480;
+ var a481;
+ var a482;
+ var a483;
+ var a484;
+ var a485;
+ var a486;
+ var a487;
+ var a488;
+ var a489;
+ var a490;
+ var a491;
+ var a492;
+ var a493;
+ var a494;
+ var a495;
+ var a496;
+ var a497;
+ var a498;
+ var a499;
+ var a500;
+ var a501;
+ var a502;
+ var a503;
+ var a504;
+ var a505;
+ var a506;
+ var a507;
+ var a508;
+ var a509;
+ var a510;
+ var a511;
+ var a512;
+ var a513;
+ var a514;
+ var a515;
+ var a516;
+ var a517;
+ var a518;
+ var a519;
+ var a520;
+ var a521;
+ var a522;
+ var a523;
+ var a524;
+ var a525;
+ var a526;
+ var a527;
+ var a528;
+ var a529;
+ var a530;
+ var a531;
+ var a532;
+ var a533;
+ var a534;
+ var a535;
+ var a536;
+ var a537;
+ var a538;
+ var a539;
+ var a540;
+ var a541;
+ var a542;
+ var a543;
+ var a544;
+ var a545;
+ var a546;
+ var a547;
+ var a548;
+ var a549;
+ var a550;
+ var a551;
+ var a552;
+ var a553;
+ var a554;
+ var a555;
+ var a556;
+ var a557;
+ var a558;
+ var a559;
+ var a560;
+ var a561;
+ var a562;
+ var a563;
+ var a564;
+ var a565;
+ var a566;
+ var a567;
+ var a568;
+ var a569;
+ var a570;
+ var a571;
+ var a572;
+ var a573;
+ var a574;
+ var a575;
+ var a576;
+ var a577;
+ var a578;
+ var a579;
+ var a580;
+ var a581;
+ var a582;
+ var a583;
+ var a584;
+ var a585;
+ var a586;
+ var a587;
+ var a588;
+ var a589;
+ var a590;
+ var a591;
+ var a592;
+ var a593;
+ var a594;
+ var a595;
+ var a596;
+ var a597;
+ var a598;
+ var a599;
+ var a600;
+ var a601;
+ var a602;
+ var a603;
+ var a604;
+ var a605;
+ var a606;
+ var a607;
+ var a608;
+ var a609;
+ var a610;
+ var a611;
+ var a612;
+ var a613;
+ var a614;
+ var a615;
+ var a616;
+ var a617;
+ var a618;
+ var a619;
+ var a620;
+ var a621;
+ var a622;
+ var a623;
+ var a624;
+ var a625;
+ var a626;
+ var a627;
+ var a628;
+ var a629;
+ var a630;
+ var a631;
+ var a632;
+ var a633;
+ var a634;
+ var a635;
+ var a636;
+ var a637;
+ var a638;
+ var a639;
+ var a640;
+ var a641;
+ var a642;
+ var a643;
+ var a644;
+ var a645;
+ var a646;
+ var a647;
+ var a648;
+ var a649;
+ var a650;
+ var a651;
+ var a652;
+ var a653;
+ var a654;
+ var a655;
+ var a656;
+ var a657;
+ var a658;
+ var a659;
+ var a660;
+ var a661;
+ var a662;
+ var a663;
+ var a664;
+ var a665;
+ var a666;
+ var a667;
+ var a668;
+ var a669;
+ var a670;
+ var a671;
+ var a672;
+ var a673;
+ var a674;
+ var a675;
+ var a676;
+ var a677;
+ var a678;
+ var a679;
+ var a680;
+ var a681;
+ var a682;
+ var a683;
+ var a684;
+ var a685;
+ var a686;
+ var a687;
+ var a688;
+ var a689;
+ var a690;
+ var a691;
+ var a692;
+ var a693;
+ var a694;
+ var a695;
+ var a696;
+ var a697;
+ var a698;
+ var a699;
+ var a700;
+ var a701;
+ var a702;
+ var a703;
+ var a704;
+ var a705;
+ var a706;
+ var a707;
+ var a708;
+ var a709;
+ var a710;
+ var a711;
+ var a712;
+ var a713;
+ var a714;
+ var a715;
+ var a716;
+ var a717;
+ var a718;
+ var a719;
+ var a720;
+ var a721;
+ var a722;
+ var a723;
+ var a724;
+ var a725;
+ var a726;
+ var a727;
+ var a728;
+ var a729;
+ var a730;
+ var a731;
+ var a732;
+ var a733;
+ var a734;
+ var a735;
+ var a736;
+ var a737;
+ var a738;
+ var a739;
+ var a740;
+ var a741;
+ var a742;
+ var a743;
+ var a744;
+ var a745;
+ var a746;
+ var a747;
+ var a748;
+ var a749;
+ var a750;
+ var a751;
+ var a752;
+ var a753;
+ var a754;
+ var a755;
+ var a756;
+ var a757;
+ var a758;
+ var a759;
+ var a760;
+ var a761;
+ var a762;
+ var a763;
+ var a764;
+ var a765;
+ var a766;
+ var a767;
+ var a768;
+ var a769;
+ var a770;
+ var a771;
+ var a772;
+ var a773;
+ var a774;
+ var a775;
+ var a776;
+ var a777;
+ var a778;
+ var a779;
+ var a780;
+ var a781;
+ var a782;
+ var a783;
+ var a784;
+ var a785;
+ var a786;
+ var a787;
+ var a788;
+ var a789;
+ var a790;
+ var a791;
+ var a792;
+ var a793;
+ var a794;
+ var a795;
+ var a796;
+ var a797;
+ var a798;
+ var a799;
+ var a800;
+ var a801;
+ var a802;
+ var a803;
+ var a804;
+ var a805;
+ var a806;
+ var a807;
+ var a808;
+ var a809;
+ var a810;
+ var a811;
+ var a812;
+ var a813;
+ var a814;
+ var a815;
+ var a816;
+ var a817;
+ var a818;
+ var a819;
+ var a820;
+ var a821;
+ var a822;
+ var a823;
+ var a824;
+ var a825;
+ var a826;
+ var a827;
+ var a828;
+ var a829;
+ var a830;
+ var a831;
+ var a832;
+ var a833;
+ var a834;
+ var a835;
+ var a836;
+ var a837;
+ var a838;
+ var a839;
+ var a840;
+ var a841;
+ var a842;
+ var a843;
+ var a844;
+ var a845;
+ var a846;
+ var a847;
+ var a848;
+ var a849;
+ var a850;
+ var a851;
+ var a852;
+ var a853;
+ var a854;
+ var a855;
+ var a856;
+ var a857;
+ var a858;
+ var a859;
+ var a860;
+ var a861;
+ var a862;
+ var a863;
+ var a864;
+ var a865;
+ var a866;
+ var a867;
+ var a868;
+ var a869;
+ var a870;
+ var a871;
+ var a872;
+ var a873;
+ var a874;
+ var a875;
+ var a876;
+ var a877;
+ var a878;
+ var a879;
+ var a880;
+ var a881;
+ var a882;
+ var a883;
+ var a884;
+ var a885;
+ var a886;
+ var a887;
+ var a888;
+ var a889;
+ var a890;
+ var a891;
+ var a892;
+ var a893;
+ var a894;
+ var a895;
+ var a896;
+ var a897;
+ var a898;
+ var a899;
+ var a900;
+ var a901;
+ var a902;
+ var a903;
+ var a904;
+ var a905;
+ var a906;
+ var a907;
+ var a908;
+ var a909;
+ var a910;
+ var a911;
+ var a912;
+ var a913;
+ var a914;
+ var a915;
+ var a916;
+ var a917;
+ var a918;
+ var a919;
+ var a920;
+ var a921;
+ var a922;
+ var a923;
+ var a924;
+ var a925;
+ var a926;
+ var a927;
+ var a928;
+ var a929;
+ var a930;
+ var a931;
+ var a932;
+ var a933;
+ var a934;
+ var a935;
+ var a936;
+ var a937;
+ var a938;
+ var a939;
+ var a940;
+ var a941;
+ var a942;
+ var a943;
+ var a944;
+ var a945;
+ var a946;
+ var a947;
+ var a948;
+ var a949;
+ var a950;
+ var a951;
+ var a952;
+ var a953;
+ var a954;
+ var a955;
+ var a956;
+ var a957;
+ var a958;
+ var a959;
+ var a960;
+ var a961;
+ var a962;
+ var a963;
+ var a964;
+ var a965;
+ var a966;
+ var a967;
+ var a968;
+ var a969;
+ var a970;
+ var a971;
+ var a972;
+ var a973;
+ var a974;
+ var a975;
+ var a976;
+ var a977;
+ var a978;
+ var a979;
+ var a980;
+ var a981;
+ var a982;
+ var a983;
+ var a984;
+ var a985;
+ var a986;
+ var a987;
+ var a988;
+ var a989;
+ var a990;
+ var a991;
+ var a992;
+ var a993;
+ var a994;
+ var a995;
+ var a996;
+ var a997;
+ var a998;
+ var a999;
+ var a1000;
+ var a1001;
+ var a1002;
+ var a1003;
+ var a1004;
+ var a1005;
+ var a1006;
+ var a1007;
+ var a1008;
+ var a1009;
+ var a1010;
+ var a1011;
+ var a1012;
+ var a1013;
+ var a1014;
+ var a1015;
+ var a1016;
+ var a1017;
+ var a1018;
+ var a1019;
+ var a1020;
+ var a1021;
+ var a1022;
+ var a1023;
+ var a1024;
+ var a1025;
+ var a1026;
+ var a1027;
+ var a1028;
+ var a1029;
+ var a1030;
+ var a1031;
+ var a1032;
+ var a1033;
+ var a1034;
+ var a1035;
+ var a1036;
+ var a1037;
+ var a1038;
+ var a1039;
+ var a1040;
+ var a1041;
+ var a1042;
+ var a1043;
+ var a1044;
+ var a1045;
+ var a1046;
+ var a1047;
+ var a1048;
+ var a1049;
+ var a1050;
+ var a1051;
+ var a1052;
+ var a1053;
+ var a1054;
+ var a1055;
+ var a1056;
+ var a1057;
+ var a1058;
+ var a1059;
+ var a1060;
+ var a1061;
+ var a1062;
+ var a1063;
+ var a1064;
+ var a1065;
+ var a1066;
+ var a1067;
+ var a1068;
+ var a1069;
+ var a1070;
+ var a1071;
+ var a1072;
+ var a1073;
+ var a1074;
+ var a1075;
+ var a1076;
+ var a1077;
+ var a1078;
+ var a1079;
+ var a1080;
+ var a1081;
+ var a1082;
+ var a1083;
+ var a1084;
+ var a1085;
+ var a1086;
+ var a1087;
+ var a1088;
+ var a1089;
+ var a1090;
+ var a1091;
+ var a1092;
+ var a1093;
+ var a1094;
+ var a1095;
+ var a1096;
+ var a1097;
+ var a1098;
+ var a1099;
+ var a1100;
+ var a1101;
+ var a1102;
+ var a1103;
+ var a1104;
+ var a1105;
+ var a1106;
+ var a1107;
+ var a1108;
+ var a1109;
+ var a1110;
+ var a1111;
+ var a1112;
+ var a1113;
+ var a1114;
+ var a1115;
+ var a1116;
+ var a1117;
+ var a1118;
+ var a1119;
+ var a1120;
+ var a1121;
+ var a1122;
+ var a1123;
+ var a1124;
+ var a1125;
+ var a1126;
+ var a1127;
+ var a1128;
+ var a1129;
+ var a1130;
+ var a1131;
+ var a1132;
+ var a1133;
+ var a1134;
+ var a1135;
+ var a1136;
+ var a1137;
+ var a1138;
+ var a1139;
+ var a1140;
+ var a1141;
+ var a1142;
+ var a1143;
+ var a1144;
+ var a1145;
+ var a1146;
+ var a1147;
+ var a1148;
+ var a1149;
+ var a1150;
+ var a1151;
+ var a1152;
+ var a1153;
+ var a1154;
+ var a1155;
+ var a1156;
+ var a1157;
+ var a1158;
+ var a1159;
+ var a1160;
+ var a1161;
+ var a1162;
+ var a1163;
+ var a1164;
+ var a1165;
+ var a1166;
+ var a1167;
+ var a1168;
+ var a1169;
+ var a1170;
+ var a1171;
+ var a1172;
+ var a1173;
+ var a1174;
+ var a1175;
+ var a1176;
+ var a1177;
+ var a1178;
+ var a1179;
+ var a1180;
+ var a1181;
+ var a1182;
+ var a1183;
+ var a1184;
+ var a1185;
+ var a1186;
+ var a1187;
+ var a1188;
+ var a1189;
+ var a1190;
+ var a1191;
+ var a1192;
+ var a1193;
+ var a1194;
+ var a1195;
+ var a1196;
+ var a1197;
+ var a1198;
+ var a1199;
+ var a1200;
+ var a1201;
+ var a1202;
+ var a1203;
+ var a1204;
+ var a1205;
+ var a1206;
+ var a1207;
+ var a1208;
+ var a1209;
+ var a1210;
+ var a1211;
+ var a1212;
+ var a1213;
+ var a1214;
+ var a1215;
+ var a1216;
+ var a1217;
+ var a1218;
+ var a1219;
+ var a1220;
+ var a1221;
+ var a1222;
+ var a1223;
+ var a1224;
+ var a1225;
+ var a1226;
+ var a1227;
+ var a1228;
+ var a1229;
+ var a1230;
+ var a1231;
+ var a1232;
+ var a1233;
+ var a1234;
+ var a1235;
+ var a1236;
+ var a1237;
+ var a1238;
+ var a1239;
+ var a1240;
+ var a1241;
+ var a1242;
+ var a1243;
+ var a1244;
+ var a1245;
+ var a1246;
+ var a1247;
+ var a1248;
+ var a1249;
+ var a1250;
+ var a1251;
+ var a1252;
+ var a1253;
+ var a1254;
+ var a1255;
+ var a1256;
+ var a1257;
+ var a1258;
+ var a1259;
+ var a1260;
+ var a1261;
+ var a1262;
+ var a1263;
+ var a1264;
+ var a1265;
+ var a1266;
+ var a1267;
+ var a1268;
+ var a1269;
+ var a1270;
+ var a1271;
+ var a1272;
+ var a1273;
+ var a1274;
+ var a1275;
+ var a1276;
+ var a1277;
+ var a1278;
+ var a1279;
+ var a1280;
+ var a1281;
+ var a1282;
+ var a1283;
+ var a1284;
+ var a1285;
+ var a1286;
+ var a1287;
+ var a1288;
+ var a1289;
+ var a1290;
+ var a1291;
+ var a1292;
+ var a1293;
+ var a1294;
+ var a1295;
+ var a1296;
+ var a1297;
+ var a1298;
+ var a1299;
+ var a1300;
+ var a1301;
+ var a1302;
+ var a1303;
+ var a1304;
+ var a1305;
+ var a1306;
+ var a1307;
+ var a1308;
+ var a1309;
+ var a1310;
+ var a1311;
+ var a1312;
+ var a1313;
+ var a1314;
+ var a1315;
+ var a1316;
+ var a1317;
+ var a1318;
+ var a1319;
+ var a1320;
+ var a1321;
+ var a1322;
+ var a1323;
+ var a1324;
+ var a1325;
+ var a1326;
+ var a1327;
+ var a1328;
+ var a1329;
+ var a1330;
+ var a1331;
+ var a1332;
+ var a1333;
+ var a1334;
+ var a1335;
+ var a1336;
+ var a1337;
+ var a1338;
+ var a1339;
+ var a1340;
+ var a1341;
+ var a1342;
+ var a1343;
+ var a1344;
+ var a1345;
+ var a1346;
+ var a1347;
+ var a1348;
+ var a1349;
+ var a1350;
+ var a1351;
+ var a1352;
+ var a1353;
+ var a1354;
+ var a1355;
+ var a1356;
+ var a1357;
+ var a1358;
+ var a1359;
+ var a1360;
+ var a1361;
+ var a1362;
+ var a1363;
+ var a1364;
+ var a1365;
+ var a1366;
+ var a1367;
+ var a1368;
+ var a1369;
+ var a1370;
+ var a1371;
+ var a1372;
+ var a1373;
+ var a1374;
+ var a1375;
+ var a1376;
+ var a1377;
+ var a1378;
+ var a1379;
+ var a1380;
+ var a1381;
+ var a1382;
+ var a1383;
+ var a1384;
+ var a1385;
+ var a1386;
+ var a1387;
+ var a1388;
+ var a1389;
+ var a1390;
+ var a1391;
+ var a1392;
+ var a1393;
+ var a1394;
+ var a1395;
+ var a1396;
+ var a1397;
+ var a1398;
+ var a1399;
+ var a1400;
+ var a1401;
+ var a1402;
+ var a1403;
+ var a1404;
+ var a1405;
+ var a1406;
+ var a1407;
+ var a1408;
+ var a1409;
+ var a1410;
+ var a1411;
+ var a1412;
+ var a1413;
+ var a1414;
+ var a1415;
+ var a1416;
+ var a1417;
+ var a1418;
+ var a1419;
+ var a1420;
+ var a1421;
+ var a1422;
+ var a1423;
+ var a1424;
+ var a1425;
+ var a1426;
+ var a1427;
+ var a1428;
+ var a1429;
+ var a1430;
+ var a1431;
+ var a1432;
+ var a1433;
+ var a1434;
+ var a1435;
+ var a1436;
+ var a1437;
+ var a1438;
+ var a1439;
+ var a1440;
+ var a1441;
+ var a1442;
+ var a1443;
+ var a1444;
+ var a1445;
+ var a1446;
+ var a1447;
+ var a1448;
+ var a1449;
+ var a1450;
+ var a1451;
+ var a1452;
+ var a1453;
+ var a1454;
+ var a1455;
+ var a1456;
+ var a1457;
+ var a1458;
+ var a1459;
+ var a1460;
+ var a1461;
+ var a1462;
+ var a1463;
+ var a1464;
+ var a1465;
+ var a1466;
+ var a1467;
+ var a1468;
+ var a1469;
+ var a1470;
+ var a1471;
+ var a1472;
+ var a1473;
+ var a1474;
+ var a1475;
+ var a1476;
+ var a1477;
+ var a1478;
+ var a1479;
+ var a1480;
+ var a1481;
+ var a1482;
+ var a1483;
+ var a1484;
+ var a1485;
+ var a1486;
+ var a1487;
+ var a1488;
+ var a1489;
+ var a1490;
+ var a1491;
+ var a1492;
+ var a1493;
+ var a1494;
+ var a1495;
+ var a1496;
+ var a1497;
+ var a1498;
+ var a1499;
+ var a1500;
+ var a1501;
+ var a1502;
+ var a1503;
+ var a1504;
+ var a1505;
+ var a1506;
+ var a1507;
+ var a1508;
+ var a1509;
+ var a1510;
+ var a1511;
+ var a1512;
+ var a1513;
+ var a1514;
+ var a1515;
+ var a1516;
+ var a1517;
+ var a1518;
+ var a1519;
+ var a1520;
+ var a1521;
+ var a1522;
+ var a1523;
+ var a1524;
+ var a1525;
+ var a1526;
+ var a1527;
+ var a1528;
+ var a1529;
+ var a1530;
+ var a1531;
+ var a1532;
+ var a1533;
+ var a1534;
+ var a1535;
+ var a1536;
+ var a1537;
+ var a1538;
+ var a1539;
+ var a1540;
+ var a1541;
+ var a1542;
+ var a1543;
+ var a1544;
+ var a1545;
+ var a1546;
+ var a1547;
+ var a1548;
+ var a1549;
+ var a1550;
+ var a1551;
+ var a1552;
+ var a1553;
+ var a1554;
+ var a1555;
+ var a1556;
+ var a1557;
+ var a1558;
+ var a1559;
+ var a1560;
+ var a1561;
+ var a1562;
+ var a1563;
+ var a1564;
+ var a1565;
+ var a1566;
+ var a1567;
+ var a1568;
+ var a1569;
+ var a1570;
+ var a1571;
+ var a1572;
+ var a1573;
+ var a1574;
+ var a1575;
+ var a1576;
+ var a1577;
+ var a1578;
+ var a1579;
+ var a1580;
+ var a1581;
+ var a1582;
+ var a1583;
+ var a1584;
+ var a1585;
+ var a1586;
+ var a1587;
+ var a1588;
+ var a1589;
+ var a1590;
+ var a1591;
+ var a1592;
+ var a1593;
+ var a1594;
+ var a1595;
+ var a1596;
+ var a1597;
+ var a1598;
+ var a1599;
+ var a1600;
+ var a1601;
+ var a1602;
+ var a1603;
+ var a1604;
+ var a1605;
+ var a1606;
+ var a1607;
+ var a1608;
+ var a1609;
+ var a1610;
+ var a1611;
+ var a1612;
+ var a1613;
+ var a1614;
+ var a1615;
+ var a1616;
+ var a1617;
+ var a1618;
+ var a1619;
+ var a1620;
+ var a1621;
+ var a1622;
+ var a1623;
+ var a1624;
+ var a1625;
+ var a1626;
+ var a1627;
+ var a1628;
+ var a1629;
+ var a1630;
+ var a1631;
+ var a1632;
+ var a1633;
+ var a1634;
+ var a1635;
+ var a1636;
+ var a1637;
+ var a1638;
+ var a1639;
+ var a1640;
+ var a1641;
+ var a1642;
+ var a1643;
+ var a1644;
+ var a1645;
+ var a1646;
+ var a1647;
+ var a1648;
+ var a1649;
+ var a1650;
+ var a1651;
+ var a1652;
+ var a1653;
+ var a1654;
+ var a1655;
+ var a1656;
+ var a1657;
+ var a1658;
+ var a1659;
+ var a1660;
+ var a1661;
+ var a1662;
+ var a1663;
+ var a1664;
+ var a1665;
+ var a1666;
+ var a1667;
+ var a1668;
+ var a1669;
+ var a1670;
+ var a1671;
+ var a1672;
+ var a1673;
+ var a1674;
+ var a1675;
+ var a1676;
+ var a1677;
+ var a1678;
+ var a1679;
+ var a1680;
+ var a1681;
+ var a1682;
+ var a1683;
+ var a1684;
+ var a1685;
+ var a1686;
+ var a1687;
+ var a1688;
+ var a1689;
+ var a1690;
+ var a1691;
+ var a1692;
+ var a1693;
+ var a1694;
+ var a1695;
+ var a1696;
+ var a1697;
+ var a1698;
+ var a1699;
+ var a1700;
+ var a1701;
+ var a1702;
+ var a1703;
+ var a1704;
+ var a1705;
+ var a1706;
+ var a1707;
+ var a1708;
+ var a1709;
+ var a1710;
+ var a1711;
+ var a1712;
+ var a1713;
+ var a1714;
+ var a1715;
+ var a1716;
+ var a1717;
+ var a1718;
+ var a1719;
+ var a1720;
+ var a1721;
+ var a1722;
+ var a1723;
+ var a1724;
+ var a1725;
+ var a1726;
+ var a1727;
+ var a1728;
+ var a1729;
+ var a1730;
+ var a1731;
+ var a1732;
+ var a1733;
+ var a1734;
+ var a1735;
+ var a1736;
+ var a1737;
+ var a1738;
+ var a1739;
+ var a1740;
+ var a1741;
+ var a1742;
+ var a1743;
+ var a1744;
+ var a1745;
+ var a1746;
+ var a1747;
+ var a1748;
+ var a1749;
+ var a1750;
+ var a1751;
+ var a1752;
+ var a1753;
+ var a1754;
+ var a1755;
+ var a1756;
+ var a1757;
+ var a1758;
+ var a1759;
+ var a1760;
+ var a1761;
+ var a1762;
+ var a1763;
+ var a1764;
+ var a1765;
+ var a1766;
+ var a1767;
+ var a1768;
+ var a1769;
+ var a1770;
+ var a1771;
+ var a1772;
+ var a1773;
+ var a1774;
+ var a1775;
+ var a1776;
+ var a1777;
+ var a1778;
+ var a1779;
+ var a1780;
+ var a1781;
+ var a1782;
+ var a1783;
+ var a1784;
+ var a1785;
+ var a1786;
+ var a1787;
+ var a1788;
+ var a1789;
+ var a1790;
+ var a1791;
+ var a1792;
+ var a1793;
+ var a1794;
+ var a1795;
+ var a1796;
+ var a1797;
+ var a1798;
+ var a1799;
+ var a1800;
+ var a1801;
+ var a1802;
+ var a1803;
+ var a1804;
+ var a1805;
+ var a1806;
+ var a1807;
+ var a1808;
+ var a1809;
+ var a1810;
+ var a1811;
+ var a1812;
+ var a1813;
+ var a1814;
+ var a1815;
+ var a1816;
+ var a1817;
+ var a1818;
+ var a1819;
+ var a1820;
+ var a1821;
+ var a1822;
+ var a1823;
+ var a1824;
+ var a1825;
+ var a1826;
+ var a1827;
+ var a1828;
+ var a1829;
+ var a1830;
+ var a1831;
+ var a1832;
+ var a1833;
+ var a1834;
+ var a1835;
+ var a1836;
+ var a1837;
+ var a1838;
+ var a1839;
+ var a1840;
+ var a1841;
+ var a1842;
+ var a1843;
+ var a1844;
+ var a1845;
+ var a1846;
+ var a1847;
+ var a1848;
+ var a1849;
+ var a1850;
+ var a1851;
+ var a1852;
+ var a1853;
+ var a1854;
+ var a1855;
+ var a1856;
+ var a1857;
+ var a1858;
+ var a1859;
+ var a1860;
+ var a1861;
+ var a1862;
+ var a1863;
+ var a1864;
+ var a1865;
+ var a1866;
+ var a1867;
+ var a1868;
+ var a1869;
+ var a1870;
+ var a1871;
+ var a1872;
+ var a1873;
+ var a1874;
+ var a1875;
+ var a1876;
+ var a1877;
+ var a1878;
+ var a1879;
+ var a1880;
+ var a1881;
+ var a1882;
+ var a1883;
+ var a1884;
+ var a1885;
+ var a1886;
+ var a1887;
+ var a1888;
+ var a1889;
+ var a1890;
+ var a1891;
+ var a1892;
+ var a1893;
+ var a1894;
+ var a1895;
+ var a1896;
+ var a1897;
+ var a1898;
+ var a1899;
+ var a1900;
+ var a1901;
+ var a1902;
+ var a1903;
+ var a1904;
+ var a1905;
+ var a1906;
+ var a1907;
+ var a1908;
+ var a1909;
+ var a1910;
+ var a1911;
+ var a1912;
+ var a1913;
+ var a1914;
+ var a1915;
+ var a1916;
+ var a1917;
+ var a1918;
+ var a1919;
+ var a1920;
+ var a1921;
+ var a1922;
+ var a1923;
+ var a1924;
+ var a1925;
+ var a1926;
+ var a1927;
+ var a1928;
+ var a1929;
+ var a1930;
+ var a1931;
+ var a1932;
+ var a1933;
+ var a1934;
+ var a1935;
+ var a1936;
+ var a1937;
+ var a1938;
+ var a1939;
+ var a1940;
+ var a1941;
+ var a1942;
+ var a1943;
+ var a1944;
+ var a1945;
+ var a1946;
+ var a1947;
+ var a1948;
+ var a1949;
+ var a1950;
+ var a1951;
+ var a1952;
+ var a1953;
+ var a1954;
+ var a1955;
+ var a1956;
+ var a1957;
+ var a1958;
+ var a1959;
+ var a1960;
+ var a1961;
+ var a1962;
+ var a1963;
+ var a1964;
+ var a1965;
+ var a1966;
+ var a1967;
+ var a1968;
+ var a1969;
+ var a1970;
+ var a1971;
+ var a1972;
+ var a1973;
+ var a1974;
+ var a1975;
+ var a1976;
+ var a1977;
+ var a1978;
+ var a1979;
+ var a1980;
+ var a1981;
+ var a1982;
+ var a1983;
+ var a1984;
+ var a1985;
+ var a1986;
+ var a1987;
+ var a1988;
+ var a1989;
+ var a1990;
+ var a1991;
+ var a1992;
+ var a1993;
+ var a1994;
+ var a1995;
+ var a1996;
+ var a1997;
+ var a1998;
+ var a1999;
+ var a2000;
+ var a2001;
+ var a2002;
+ var a2003;
+ var a2004;
+ var a2005;
+ var a2006;
+ var a2007;
+ var a2008;
+ var a2009;
+ var a2010;
+ var a2011;
+ var a2012;
+ var a2013;
+ var a2014;
+ var a2015;
+ var a2016;
+ var a2017;
+ var a2018;
+ var a2019;
+ var a2020;
+ var a2021;
+ var a2022;
+ var a2023;
+ var a2024;
+ var a2025;
+ var a2026;
+ var a2027;
+ var a2028;
+ var a2029;
+ var a2030;
+ var a2031;
+ var a2032;
+ var a2033;
+ var a2034;
+ var a2035;
+ var a2036;
+ var a2037;
+ var a2038;
+ var a2039;
+ var a2040;
+ var a2041;
+ var a2042;
+ var a2043;
+ var a2044;
+ var a2045;
+ var a2046;
+ var a2047;
+ var a2048;
+ var a2049;
+ var a2050;
+ var a2051;
+ var a2052;
+ var a2053;
+ var a2054;
+ var a2055;
+ var a2056;
+ var a2057;
+ var a2058;
+ var a2059;
+ var a2060;
+ var a2061;
+ var a2062;
+ var a2063;
+ var a2064;
+ var a2065;
+ var a2066;
+ var a2067;
+ var a2068;
+ var a2069;
+ var a2070;
+ var a2071;
+ var a2072;
+ var a2073;
+ var a2074;
+ var a2075;
+ var a2076;
+ var a2077;
+ var a2078;
+ var a2079;
+ var a2080;
+ var a2081;
+ var a2082;
+ var a2083;
+ var a2084;
+ var a2085;
+ var a2086;
+ var a2087;
+ var a2088;
+ var a2089;
+ var a2090;
+ var a2091;
+ var a2092;
+ var a2093;
+ var a2094;
+ var a2095;
+ var a2096;
+ var a2097;
+ var a2098;
+ var a2099;
+ var a2100;
+ var a2101;
+ var a2102;
+ var a2103;
+ var a2104;
+ var a2105;
+ var a2106;
+ var a2107;
+ var a2108;
+ var a2109;
+ var a2110;
+ var a2111;
+ var a2112;
+ var a2113;
+ var a2114;
+ var a2115;
+ var a2116;
+ var a2117;
+ var a2118;
+ var a2119;
+ var a2120;
+ var a2121;
+ var a2122;
+ var a2123;
+ var a2124;
+ var a2125;
+ var a2126;
+ var a2127;
+ var a2128;
+ var a2129;
+ var a2130;
+ var a2131;
+ var a2132;
+ var a2133;
+ var a2134;
+ var a2135;
+ var a2136;
+ var a2137;
+ var a2138;
+ var a2139;
+ var a2140;
+ var a2141;
+ var a2142;
+ var a2143;
+ var a2144;
+ var a2145;
+ var a2146;
+ var a2147;
+ var a2148;
+ var a2149;
+ var a2150;
+ var a2151;
+ var a2152;
+ var a2153;
+ var a2154;
+ var a2155;
+ var a2156;
+ var a2157;
+ var a2158;
+ var a2159;
+ var a2160;
+ var a2161;
+ var a2162;
+ var a2163;
+ var a2164;
+ var a2165;
+ var a2166;
+ var a2167;
+ var a2168;
+ var a2169;
+ var a2170;
+ var a2171;
+ var a2172;
+ var a2173;
+ var a2174;
+ var a2175;
+ var a2176;
+ var a2177;
+ var a2178;
+ var a2179;
+ var a2180;
+ var a2181;
+ var a2182;
+ var a2183;
+ var a2184;
+ var a2185;
+ var a2186;
+ var a2187;
+ var a2188;
+ var a2189;
+ var a2190;
+ var a2191;
+ var a2192;
+ var a2193;
+ var a2194;
+ var a2195;
+ var a2196;
+ var a2197;
+ var a2198;
+ var a2199;
+ var a2200;
+ var a2201;
+ var a2202;
+ var a2203;
+ var a2204;
+ var a2205;
+ var a2206;
+ var a2207;
+ var a2208;
+ var a2209;
+ var a2210;
+ var a2211;
+ var a2212;
+ var a2213;
+ var a2214;
+ var a2215;
+ var a2216;
+ var a2217;
+ var a2218;
+ var a2219;
+ var a2220;
+ var a2221;
+ var a2222;
+ var a2223;
+ var a2224;
+ var a2225;
+ var a2226;
+ var a2227;
+ var a2228;
+ var a2229;
+ var a2230;
+ var a2231;
+ var a2232;
+ var a2233;
+ var a2234;
+ var a2235;
+ var a2236;
+ var a2237;
+ var a2238;
+ var a2239;
+ var a2240;
+ var a2241;
+ var a2242;
+ var a2243;
+ var a2244;
+ var a2245;
+ var a2246;
+ var a2247;
+ var a2248;
+ var a2249;
+ var a2250;
+ var a2251;
+ var a2252;
+ var a2253;
+ var a2254;
+ var a2255;
+ var a2256;
+ var a2257;
+ var a2258;
+ var a2259;
+ var a2260;
+ var a2261;
+ var a2262;
+ var a2263;
+ var a2264;
+ var a2265;
+ var a2266;
+ var a2267;
+ var a2268;
+ var a2269;
+ var a2270;
+ var a2271;
+ var a2272;
+ var a2273;
+ var a2274;
+ var a2275;
+ var a2276;
+ var a2277;
+ var a2278;
+ var a2279;
+ var a2280;
+ var a2281;
+ var a2282;
+ var a2283;
+ var a2284;
+ var a2285;
+ var a2286;
+ var a2287;
+ var a2288;
+ var a2289;
+ var a2290;
+ var a2291;
+ var a2292;
+ var a2293;
+ var a2294;
+ var a2295;
+ var a2296;
+ var a2297;
+ var a2298;
+ var a2299;
+ var a2300;
+ var a2301;
+ var a2302;
+ var a2303;
+ var a2304;
+ var a2305;
+ var a2306;
+ var a2307;
+ var a2308;
+ var a2309;
+ var a2310;
+ var a2311;
+ var a2312;
+ var a2313;
+ var a2314;
+ var a2315;
+ var a2316;
+ var a2317;
+ var a2318;
+ var a2319;
+ var a2320;
+ var a2321;
+ var a2322;
+ var a2323;
+ var a2324;
+ var a2325;
+ var a2326;
+ var a2327;
+ var a2328;
+ var a2329;
+ var a2330;
+ var a2331;
+ var a2332;
+ var a2333;
+ var a2334;
+ var a2335;
+ var a2336;
+ var a2337;
+ var a2338;
+ var a2339;
+ var a2340;
+ var a2341;
+ var a2342;
+ var a2343;
+ var a2344;
+ var a2345;
+ var a2346;
+ var a2347;
+ var a2348;
+ var a2349;
+ var a2350;
+ var a2351;
+ var a2352;
+ var a2353;
+ var a2354;
+ var a2355;
+ var a2356;
+ var a2357;
+ var a2358;
+ var a2359;
+ var a2360;
+ var a2361;
+ var a2362;
+ var a2363;
+ var a2364;
+ var a2365;
+ var a2366;
+ var a2367;
+ var a2368;
+ var a2369;
+ var a2370;
+ var a2371;
+ var a2372;
+ var a2373;
+ var a2374;
+ var a2375;
+ var a2376;
+ var a2377;
+ var a2378;
+ var a2379;
+ var a2380;
+ var a2381;
+ var a2382;
+ var a2383;
+ var a2384;
+ var a2385;
+ var a2386;
+ var a2387;
+ var a2388;
+ var a2389;
+ var a2390;
+ var a2391;
+ var a2392;
+ var a2393;
+ var a2394;
+ var a2395;
+ var a2396;
+ var a2397;
+ var a2398;
+ var a2399;
+ var a2400;
+ var a2401;
+ var a2402;
+ var a2403;
+ var a2404;
+ var a2405;
+ var a2406;
+ var a2407;
+ var a2408;
+ var a2409;
+ var a2410;
+ var a2411;
+ var a2412;
+ var a2413;
+ var a2414;
+ var a2415;
+ var a2416;
+ var a2417;
+ var a2418;
+ var a2419;
+ var a2420;
+ var a2421;
+ var a2422;
+ var a2423;
+ var a2424;
+ var a2425;
+ var a2426;
+ var a2427;
+ var a2428;
+ var a2429;
+ var a2430;
+ var a2431;
+ var a2432;
+ var a2433;
+ var a2434;
+ var a2435;
+ var a2436;
+ var a2437;
+ var a2438;
+ var a2439;
+ var a2440;
+ var a2441;
+ var a2442;
+ var a2443;
+ var a2444;
+ var a2445;
+ var a2446;
+ var a2447;
+ var a2448;
+ var a2449;
+ var a2450;
+ var a2451;
+ var a2452;
+ var a2453;
+ var a2454;
+ var a2455;
+ var a2456;
+ var a2457;
+ var a2458;
+ var a2459;
+ var a2460;
+ var a2461;
+ var a2462;
+ var a2463;
+ var a2464;
+ var a2465;
+ var a2466;
+ var a2467;
+ var a2468;
+ var a2469;
+ var a2470;
+ var a2471;
+ var a2472;
+ var a2473;
+ var a2474;
+ var a2475;
+ var a2476;
+ var a2477;
+ var a2478;
+ var a2479;
+ var a2480;
+ var a2481;
+ var a2482;
+ var a2483;
+ var a2484;
+ var a2485;
+ var a2486;
+ var a2487;
+ var a2488;
+ var a2489;
+ var a2490;
+ var a2491;
+ var a2492;
+ var a2493;
+ var a2494;
+ var a2495;
+ var a2496;
+ var a2497;
+ var a2498;
+ var a2499;
+ var a2500;
+ var a2501;
+ var a2502;
+ var a2503;
+ var a2504;
+ var a2505;
+ var a2506;
+ var a2507;
+ var a2508;
+ var a2509;
+ var a2510;
+ var a2511;
+ var a2512;
+ var a2513;
+ var a2514;
+ var a2515;
+ var a2516;
+ var a2517;
+ var a2518;
+ var a2519;
+ var a2520;
+ var a2521;
+ var a2522;
+ var a2523;
+ var a2524;
+ var a2525;
+ var a2526;
+ var a2527;
+ var a2528;
+ var a2529;
+ var a2530;
+ var a2531;
+ var a2532;
+ var a2533;
+ var a2534;
+ var a2535;
+ var a2536;
+ var a2537;
+ var a2538;
+ var a2539;
+ var a2540;
+ var a2541;
+ var a2542;
+ var a2543;
+ var a2544;
+ var a2545;
+ var a2546;
+ var a2547;
+ var a2548;
+ var a2549;
+ var a2550;
+ var a2551;
+ var a2552;
+ var a2553;
+ var a2554;
+ var a2555;
+ var a2556;
+ var a2557;
+ var a2558;
+ var a2559;
+ var a2560;
+ var a2561;
+ var a2562;
+ var a2563;
+ var a2564;
+ var a2565;
+ var a2566;
+ var a2567;
+ var a2568;
+ var a2569;
+ var a2570;
+ var a2571;
+ var a2572;
+ var a2573;
+ var a2574;
+ var a2575;
+ var a2576;
+ var a2577;
+ var a2578;
+ var a2579;
+ var a2580;
+ var a2581;
+ var a2582;
+ var a2583;
+ var a2584;
+ var a2585;
+ var a2586;
+ var a2587;
+ var a2588;
+ var a2589;
+ var a2590;
+ var a2591;
+ var a2592;
+ var a2593;
+ var a2594;
+ var a2595;
+ var a2596;
+ var a2597;
+ var a2598;
+ var a2599;
+ var a2600;
+ var a2601;
+ var a2602;
+ var a2603;
+ var a2604;
+ var a2605;
+ var a2606;
+ var a2607;
+ var a2608;
+ var a2609;
+ var a2610;
+ var a2611;
+ var a2612;
+ var a2613;
+ var a2614;
+ var a2615;
+ var a2616;
+ var a2617;
+ var a2618;
+ var a2619;
+ var a2620;
+ var a2621;
+ var a2622;
+ var a2623;
+ var a2624;
+ var a2625;
+ var a2626;
+ var a2627;
+ var a2628;
+ var a2629;
+ var a2630;
+ var a2631;
+ var a2632;
+ var a2633;
+ var a2634;
+ var a2635;
+ var a2636;
+ var a2637;
+ var a2638;
+ var a2639;
+ var a2640;
+ var a2641;
+ var a2642;
+ var a2643;
+ var a2644;
+ var a2645;
+ var a2646;
+ var a2647;
+ var a2648;
+ var a2649;
+ var a2650;
+ var a2651;
+ var a2652;
+ var a2653;
+ var a2654;
+ var a2655;
+ var a2656;
+ var a2657;
+ var a2658;
+ var a2659;
+ var a2660;
+ var a2661;
+ var a2662;
+ var a2663;
+ var a2664;
+ var a2665;
+ var a2666;
+ var a2667;
+ var a2668;
+ var a2669;
+ var a2670;
+ var a2671;
+ var a2672;
+ var a2673;
+ var a2674;
+ var a2675;
+ var a2676;
+ var a2677;
+ var a2678;
+ var a2679;
+ var a2680;
+ var a2681;
+ var a2682;
+ var a2683;
+ var a2684;
+ var a2685;
+ var a2686;
+ var a2687;
+ var a2688;
+ var a2689;
+ var a2690;
+ var a2691;
+ var a2692;
+ var a2693;
+ var a2694;
+ var a2695;
+ var a2696;
+ var a2697;
+ var a2698;
+ var a2699;
+ var a2700;
+ var a2701;
+ var a2702;
+ var a2703;
+ var a2704;
+ var a2705;
+ var a2706;
+ var a2707;
+ var a2708;
+ var a2709;
+ var a2710;
+ var a2711;
+ var a2712;
+ var a2713;
+ var a2714;
+ var a2715;
+ var a2716;
+ var a2717;
+ var a2718;
+ var a2719;
+ var a2720;
+ var a2721;
+ var a2722;
+ var a2723;
+ var a2724;
+ var a2725;
+ var a2726;
+ var a2727;
+ var a2728;
+ var a2729;
+ var a2730;
+ var a2731;
+ var a2732;
+ var a2733;
+ var a2734;
+ var a2735;
+ var a2736;
+ var a2737;
+ var a2738;
+ var a2739;
+ var a2740;
+ var a2741;
+ var a2742;
+ var a2743;
+ var a2744;
+ var a2745;
+ var a2746;
+ var a2747;
+ var a2748;
+ var a2749;
+ var a2750;
+ var a2751;
+ var a2752;
+ var a2753;
+ var a2754;
+ var a2755;
+ var a2756;
+ var a2757;
+ var a2758;
+ var a2759;
+ var a2760;
+ var a2761;
+ var a2762;
+ var a2763;
+ var a2764;
+ var a2765;
+ var a2766;
+ var a2767;
+ var a2768;
+ var a2769;
+ var a2770;
+ var a2771;
+ var a2772;
+ var a2773;
+ var a2774;
+ var a2775;
+ var a2776;
+ var a2777;
+ var a2778;
+ var a2779;
+ var a2780;
+ var a2781;
+ var a2782;
+ var a2783;
+ var a2784;
+ var a2785;
+ var a2786;
+ var a2787;
+ var a2788;
+ var a2789;
+ var a2790;
+ var a2791;
+ var a2792;
+ var a2793;
+ var a2794;
+ var a2795;
+ var a2796;
+ var a2797;
+ var a2798;
+ var a2799;
+ var a2800;
+ var a2801;
+ var a2802;
+ var a2803;
+ var a2804;
+ var a2805;
+ var a2806;
+ var a2807;
+ var a2808;
+ var a2809;
+ var a2810;
+ var a2811;
+ var a2812;
+ var a2813;
+ var a2814;
+ var a2815;
+ var a2816;
+ var a2817;
+ var a2818;
+ var a2819;
+ var a2820;
+ var a2821;
+ var a2822;
+ var a2823;
+ var a2824;
+ var a2825;
+ var a2826;
+ var a2827;
+ var a2828;
+ var a2829;
+ var a2830;
+ var a2831;
+ var a2832;
+ var a2833;
+ var a2834;
+ var a2835;
+ var a2836;
+ var a2837;
+ var a2838;
+ var a2839;
+ var a2840;
+ var a2841;
+ var a2842;
+ var a2843;
+ var a2844;
+ var a2845;
+ var a2846;
+ var a2847;
+ var a2848;
+ var a2849;
+ var a2850;
+ var a2851;
+ var a2852;
+ var a2853;
+ var a2854;
+ var a2855;
+ var a2856;
+ var a2857;
+ var a2858;
+ var a2859;
+ var a2860;
+ var a2861;
+ var a2862;
+ var a2863;
+ var a2864;
+ var a2865;
+ var a2866;
+ var a2867;
+ var a2868;
+ var a2869;
+ var a2870;
+ var a2871;
+ var a2872;
+ var a2873;
+ var a2874;
+ var a2875;
+ var a2876;
+ var a2877;
+ var a2878;
+ var a2879;
+ var a2880;
+ var a2881;
+ var a2882;
+ var a2883;
+ var a2884;
+ var a2885;
+ var a2886;
+ var a2887;
+ var a2888;
+ var a2889;
+ var a2890;
+ var a2891;
+ var a2892;
+ var a2893;
+ var a2894;
+ var a2895;
+ var a2896;
+ var a2897;
+ var a2898;
+ var a2899;
+ var a2900;
+ var a2901;
+ var a2902;
+ var a2903;
+ var a2904;
+ var a2905;
+ var a2906;
+ var a2907;
+ var a2908;
+ var a2909;
+ var a2910;
+ var a2911;
+ var a2912;
+ var a2913;
+ var a2914;
+ var a2915;
+ var a2916;
+ var a2917;
+ var a2918;
+ var a2919;
+ var a2920;
+ var a2921;
+ var a2922;
+ var a2923;
+ var a2924;
+ var a2925;
+ var a2926;
+ var a2927;
+ var a2928;
+ var a2929;
+ var a2930;
+ var a2931;
+ var a2932;
+ var a2933;
+ var a2934;
+ var a2935;
+ var a2936;
+ var a2937;
+ var a2938;
+ var a2939;
+ var a2940;
+ var a2941;
+ var a2942;
+ var a2943;
+ var a2944;
+ var a2945;
+ var a2946;
+ var a2947;
+ var a2948;
+ var a2949;
+ var a2950;
+ var a2951;
+ var a2952;
+ var a2953;
+ var a2954;
+ var a2955;
+ var a2956;
+ var a2957;
+ var a2958;
+ var a2959;
+ var a2960;
+ var a2961;
+ var a2962;
+ var a2963;
+ var a2964;
+ var a2965;
+ var a2966;
+ var a2967;
+ var a2968;
+ var a2969;
+ var a2970;
+ var a2971;
+ var a2972;
+ var a2973;
+ var a2974;
+ var a2975;
+ var a2976;
+ var a2977;
+ var a2978;
+ var a2979;
+ var a2980;
+ var a2981;
+ var a2982;
+ var a2983;
+ var a2984;
+ var a2985;
+ var a2986;
+ var a2987;
+ var a2988;
+ var a2989;
+ var a2990;
+ var a2991;
+ var a2992;
+ var a2993;
+ var a2994;
+ var a2995;
+ var a2996;
+ var a2997;
+ var a2998;
+ var a2999;
+ var a3000;
+ var a3001;
+ var a3002;
+ var a3003;
+ var a3004;
+ var a3005;
+ var a3006;
+ var a3007;
+ var a3008;
+ var a3009;
+ var a3010;
+ var a3011;
+ var a3012;
+ var a3013;
+ var a3014;
+ var a3015;
+ var a3016;
+ var a3017;
+ var a3018;
+ var a3019;
+ var a3020;
+ var a3021;
+ var a3022;
+ var a3023;
+ var a3024;
+ var a3025;
+ var a3026;
+ var a3027;
+ var a3028;
+ var a3029;
+ var a3030;
+ var a3031;
+ var a3032;
+ var a3033;
+ var a3034;
+ var a3035;
+ var a3036;
+ var a3037;
+ var a3038;
+ var a3039;
+ var a3040;
+ var a3041;
+ var a3042;
+ var a3043;
+ var a3044;
+ var a3045;
+ var a3046;
+ var a3047;
+ var a3048;
+ var a3049;
+ var a3050;
+ var a3051;
+ var a3052;
+ var a3053;
+ var a3054;
+ var a3055;
+ var a3056;
+ var a3057;
+ var a3058;
+ var a3059;
+ var a3060;
+ var a3061;
+ var a3062;
+ var a3063;
+ var a3064;
+ var a3065;
+ var a3066;
+ var a3067;
+ var a3068;
+ var a3069;
+ var a3070;
+ var a3071;
+ var a3072;
+ var a3073;
+ var a3074;
+ var a3075;
+ var a3076;
+ var a3077;
+ var a3078;
+ var a3079;
+ var a3080;
+ var a3081;
+ var a3082;
+ var a3083;
+ var a3084;
+ var a3085;
+ var a3086;
+ var a3087;
+ var a3088;
+ var a3089;
+ var a3090;
+ var a3091;
+ var a3092;
+ var a3093;
+ var a3094;
+ var a3095;
+ var a3096;
+ var a3097;
+ var a3098;
+ var a3099;
+ var a3100;
+ var a3101;
+ var a3102;
+ var a3103;
+ var a3104;
+ var a3105;
+ var a3106;
+ var a3107;
+ var a3108;
+ var a3109;
+ var a3110;
+ var a3111;
+ var a3112;
+ var a3113;
+ var a3114;
+ var a3115;
+ var a3116;
+ var a3117;
+ var a3118;
+ var a3119;
+ var a3120;
+ var a3121;
+ var a3122;
+ var a3123;
+ var a3124;
+ var a3125;
+ var a3126;
+ var a3127;
+ var a3128;
+ var a3129;
+ var a3130;
+ var a3131;
+ var a3132;
+ var a3133;
+ var a3134;
+ var a3135;
+ var a3136;
+ var a3137;
+ var a3138;
+ var a3139;
+ var a3140;
+ var a3141;
+ var a3142;
+ var a3143;
+ var a3144;
+ var a3145;
+ var a3146;
+ var a3147;
+ var a3148;
+ var a3149;
+ var a3150;
+ var a3151;
+ var a3152;
+ var a3153;
+ var a3154;
+ var a3155;
+ var a3156;
+ var a3157;
+ var a3158;
+ var a3159;
+ var a3160;
+ var a3161;
+ var a3162;
+ var a3163;
+ var a3164;
+ var a3165;
+ var a3166;
+ var a3167;
+ var a3168;
+ var a3169;
+ var a3170;
+ var a3171;
+ var a3172;
+ var a3173;
+ var a3174;
+ var a3175;
+ var a3176;
+ var a3177;
+ var a3178;
+ var a3179;
+ var a3180;
+ var a3181;
+ var a3182;
+ var a3183;
+ var a3184;
+ var a3185;
+ var a3186;
+ var a3187;
+ var a3188;
+ var a3189;
+ var a3190;
+ var a3191;
+ var a3192;
+ var a3193;
+ var a3194;
+ var a3195;
+ var a3196;
+ var a3197;
+ var a3198;
+ var a3199;
+ var a3200;
+ var a3201;
+ var a3202;
+ var a3203;
+ var a3204;
+ var a3205;
+ var a3206;
+ var a3207;
+ var a3208;
+ var a3209;
+ var a3210;
+ var a3211;
+ var a3212;
+ var a3213;
+ var a3214;
+ var a3215;
+ var a3216;
+ var a3217;
+ var a3218;
+ var a3219;
+ var a3220;
+ var a3221;
+ var a3222;
+ var a3223;
+ var a3224;
+ var a3225;
+ var a3226;
+ var a3227;
+ var a3228;
+ var a3229;
+ var a3230;
+ var a3231;
+ var a3232;
+ var a3233;
+ var a3234;
+ var a3235;
+ var a3236;
+ var a3237;
+ var a3238;
+ var a3239;
+ var a3240;
+ var a3241;
+ var a3242;
+ var a3243;
+ var a3244;
+ var a3245;
+ var a3246;
+ var a3247;
+ var a3248;
+ var a3249;
+ var a3250;
+ var a3251;
+ var a3252;
+ var a3253;
+ var a3254;
+ var a3255;
+ var a3256;
+ var a3257;
+ var a3258;
+ var a3259;
+ var a3260;
+ var a3261;
+ var a3262;
+ var a3263;
+ var a3264;
+ var a3265;
+ var a3266;
+ var a3267;
+ var a3268;
+ var a3269;
+ var a3270;
+ var a3271;
+ var a3272;
+ var a3273;
+ var a3274;
+ var a3275;
+ var a3276;
+ var a3277;
+ var a3278;
+ var a3279;
+ var a3280;
+ var a3281;
+ var a3282;
+ var a3283;
+ var a3284;
+ var a3285;
+ var a3286;
+ var a3287;
+ var a3288;
+ var a3289;
+ var a3290;
+ var a3291;
+ var a3292;
+ var a3293;
+ var a3294;
+ var a3295;
+ var a3296;
+ var a3297;
+ var a3298;
+ var a3299;
+ var a3300;
+ var a3301;
+ var a3302;
+ var a3303;
+ var a3304;
+ var a3305;
+ var a3306;
+ var a3307;
+ var a3308;
+ var a3309;
+ var a3310;
+ var a3311;
+ var a3312;
+ var a3313;
+ var a3314;
+ var a3315;
+ var a3316;
+ var a3317;
+ var a3318;
+ var a3319;
+ var a3320;
+ var a3321;
+ var a3322;
+ var a3323;
+ var a3324;
+ var a3325;
+ var a3326;
+ var a3327;
+ var a3328;
+ var a3329;
+ var a3330;
+ var a3331;
+ var a3332;
+ var a3333;
+ var a3334;
+ var a3335;
+ var a3336;
+ var a3337;
+ var a3338;
+ var a3339;
+ var a3340;
+ var a3341;
+ var a3342;
+ var a3343;
+ var a3344;
+ var a3345;
+ var a3346;
+ var a3347;
+ var a3348;
+ var a3349;
+ var a3350;
+ var a3351;
+ var a3352;
+ var a3353;
+ var a3354;
+ var a3355;
+ var a3356;
+ var a3357;
+ var a3358;
+ var a3359;
+ var a3360;
+ var a3361;
+ var a3362;
+ var a3363;
+ var a3364;
+ var a3365;
+ var a3366;
+ var a3367;
+ var a3368;
+ var a3369;
+ var a3370;
+ var a3371;
+ var a3372;
+ var a3373;
+ var a3374;
+ var a3375;
+ var a3376;
+ var a3377;
+ var a3378;
+ var a3379;
+ var a3380;
+ var a3381;
+ var a3382;
+ var a3383;
+ var a3384;
+ var a3385;
+ var a3386;
+ var a3387;
+ var a3388;
+ var a3389;
+ var a3390;
+ var a3391;
+ var a3392;
+ var a3393;
+ var a3394;
+ var a3395;
+ var a3396;
+ var a3397;
+ var a3398;
+ var a3399;
+ var a3400;
+ var a3401;
+ var a3402;
+ var a3403;
+ var a3404;
+ var a3405;
+ var a3406;
+ var a3407;
+ var a3408;
+ var a3409;
+ var a3410;
+ var a3411;
+ var a3412;
+ var a3413;
+ var a3414;
+ var a3415;
+ var a3416;
+ var a3417;
+ var a3418;
+ var a3419;
+ var a3420;
+ var a3421;
+ var a3422;
+ var a3423;
+ var a3424;
+ var a3425;
+ var a3426;
+ var a3427;
+ var a3428;
+ var a3429;
+ var a3430;
+ var a3431;
+ var a3432;
+ var a3433;
+ var a3434;
+ var a3435;
+ var a3436;
+ var a3437;
+ var a3438;
+ var a3439;
+ var a3440;
+ var a3441;
+ var a3442;
+ var a3443;
+ var a3444;
+ var a3445;
+ var a3446;
+ var a3447;
+ var a3448;
+ var a3449;
+ var a3450;
+ var a3451;
+ var a3452;
+ var a3453;
+ var a3454;
+ var a3455;
+ var a3456;
+ var a3457;
+ var a3458;
+ var a3459;
+ var a3460;
+ var a3461;
+ var a3462;
+ var a3463;
+ var a3464;
+ var a3465;
+ var a3466;
+ var a3467;
+ var a3468;
+ var a3469;
+ var a3470;
+ var a3471;
+ var a3472;
+ var a3473;
+ var a3474;
+ var a3475;
+ var a3476;
+ var a3477;
+ var a3478;
+ var a3479;
+ var a3480;
+ var a3481;
+ var a3482;
+ var a3483;
+ var a3484;
+ var a3485;
+ var a3486;
+ var a3487;
+ var a3488;
+ var a3489;
+ var a3490;
+ var a3491;
+ var a3492;
+ var a3493;
+ var a3494;
+ var a3495;
+ var a3496;
+ var a3497;
+ var a3498;
+ var a3499;
+ var a3500;
+ var a3501;
+ var a3502;
+ var a3503;
+ var a3504;
+ var a3505;
+ var a3506;
+ var a3507;
+ var a3508;
+ var a3509;
+ var a3510;
+ var a3511;
+ var a3512;
+ var a3513;
+ var a3514;
+ var a3515;
+ var a3516;
+ var a3517;
+ var a3518;
+ var a3519;
+ var a3520;
+ var a3521;
+ var a3522;
+ var a3523;
+ var a3524;
+ var a3525;
+ var a3526;
+ var a3527;
+ var a3528;
+ var a3529;
+ var a3530;
+ var a3531;
+ var a3532;
+ var a3533;
+ var a3534;
+ var a3535;
+ var a3536;
+ var a3537;
+ var a3538;
+ var a3539;
+ var a3540;
+ var a3541;
+ var a3542;
+ var a3543;
+ var a3544;
+ var a3545;
+ var a3546;
+ var a3547;
+ var a3548;
+ var a3549;
+ var a3550;
+ var a3551;
+ var a3552;
+ var a3553;
+ var a3554;
+ var a3555;
+ var a3556;
+ var a3557;
+ var a3558;
+ var a3559;
+ var a3560;
+ var a3561;
+ var a3562;
+ var a3563;
+ var a3564;
+ var a3565;
+ var a3566;
+ var a3567;
+ var a3568;
+ var a3569;
+ var a3570;
+ var a3571;
+ var a3572;
+ var a3573;
+ var a3574;
+ var a3575;
+ var a3576;
+ var a3577;
+ var a3578;
+ var a3579;
+ var a3580;
+ var a3581;
+ var a3582;
+ var a3583;
+ var a3584;
+ var a3585;
+ var a3586;
+ var a3587;
+ var a3588;
+ var a3589;
+ var a3590;
+ var a3591;
+ var a3592;
+ var a3593;
+ var a3594;
+ var a3595;
+ var a3596;
+ var a3597;
+ var a3598;
+ var a3599;
+ var a3600;
+ var a3601;
+ var a3602;
+ var a3603;
+ var a3604;
+ var a3605;
+ var a3606;
+ var a3607;
+ var a3608;
+ var a3609;
+ var a3610;
+ var a3611;
+ var a3612;
+ var a3613;
+ var a3614;
+ var a3615;
+ var a3616;
+ var a3617;
+ var a3618;
+ var a3619;
+ var a3620;
+ var a3621;
+ var a3622;
+ var a3623;
+ var a3624;
+ var a3625;
+ var a3626;
+ var a3627;
+ var a3628;
+ var a3629;
+ var a3630;
+ var a3631;
+ var a3632;
+ var a3633;
+ var a3634;
+ var a3635;
+ var a3636;
+ var a3637;
+ var a3638;
+ var a3639;
+ var a3640;
+ var a3641;
+ var a3642;
+ var a3643;
+ var a3644;
+ var a3645;
+ var a3646;
+ var a3647;
+ var a3648;
+ var a3649;
+ var a3650;
+ var a3651;
+ var a3652;
+ var a3653;
+ var a3654;
+ var a3655;
+ var a3656;
+ var a3657;
+ var a3658;
+ var a3659;
+ var a3660;
+ var a3661;
+ var a3662;
+ var a3663;
+ var a3664;
+ var a3665;
+ var a3666;
+ var a3667;
+ var a3668;
+ var a3669;
+ var a3670;
+ var a3671;
+ var a3672;
+ var a3673;
+ var a3674;
+ var a3675;
+ var a3676;
+ var a3677;
+ var a3678;
+ var a3679;
+ var a3680;
+ var a3681;
+ var a3682;
+ var a3683;
+ var a3684;
+ var a3685;
+ var a3686;
+ var a3687;
+ var a3688;
+ var a3689;
+ var a3690;
+ var a3691;
+ var a3692;
+ var a3693;
+ var a3694;
+ var a3695;
+ var a3696;
+ var a3697;
+ var a3698;
+ var a3699;
+ var a3700;
+ var a3701;
+ var a3702;
+ var a3703;
+ var a3704;
+ var a3705;
+ var a3706;
+ var a3707;
+ var a3708;
+ var a3709;
+ var a3710;
+ var a3711;
+ var a3712;
+ var a3713;
+ var a3714;
+ var a3715;
+ var a3716;
+ var a3717;
+ var a3718;
+ var a3719;
+ var a3720;
+ var a3721;
+ var a3722;
+ var a3723;
+ var a3724;
+ var a3725;
+ var a3726;
+ var a3727;
+ var a3728;
+ var a3729;
+ var a3730;
+ var a3731;
+ var a3732;
+ var a3733;
+ var a3734;
+ var a3735;
+ var a3736;
+ var a3737;
+ var a3738;
+ var a3739;
+ var a3740;
+ var a3741;
+ var a3742;
+ var a3743;
+ var a3744;
+ var a3745;
+ var a3746;
+ var a3747;
+ var a3748;
+ var a3749;
+ var a3750;
+ var a3751;
+ var a3752;
+ var a3753;
+ var a3754;
+ var a3755;
+ var a3756;
+ var a3757;
+ var a3758;
+ var a3759;
+ var a3760;
+ var a3761;
+ var a3762;
+ var a3763;
+ var a3764;
+ var a3765;
+ var a3766;
+ var a3767;
+ var a3768;
+ var a3769;
+ var a3770;
+ var a3771;
+ var a3772;
+ var a3773;
+ var a3774;
+ var a3775;
+ var a3776;
+ var a3777;
+ var a3778;
+ var a3779;
+ var a3780;
+ var a3781;
+ var a3782;
+ var a3783;
+ var a3784;
+ var a3785;
+ var a3786;
+ var a3787;
+ var a3788;
+ var a3789;
+ var a3790;
+ var a3791;
+ var a3792;
+ var a3793;
+ var a3794;
+ var a3795;
+ var a3796;
+ var a3797;
+ var a3798;
+ var a3799;
+ var a3800;
+ var a3801;
+ var a3802;
+ var a3803;
+ var a3804;
+ var a3805;
+ var a3806;
+ var a3807;
+ var a3808;
+ var a3809;
+ var a3810;
+ var a3811;
+ var a3812;
+ var a3813;
+ var a3814;
+ var a3815;
+ var a3816;
+ var a3817;
+ var a3818;
+ var a3819;
+ var a3820;
+ var a3821;
+ var a3822;
+ var a3823;
+ var a3824;
+ var a3825;
+ var a3826;
+ var a3827;
+ var a3828;
+ var a3829;
+ var a3830;
+ var a3831;
+ var a3832;
+ var a3833;
+ var a3834;
+ var a3835;
+ var a3836;
+ var a3837;
+ var a3838;
+ var a3839;
+ var a3840;
+ var a3841;
+ var a3842;
+ var a3843;
+ var a3844;
+ var a3845;
+ var a3846;
+ var a3847;
+ var a3848;
+ var a3849;
+ var a3850;
+ var a3851;
+ var a3852;
+ var a3853;
+ var a3854;
+ var a3855;
+ var a3856;
+ var a3857;
+ var a3858;
+ var a3859;
+ var a3860;
+ var a3861;
+ var a3862;
+ var a3863;
+ var a3864;
+ var a3865;
+ var a3866;
+ var a3867;
+ var a3868;
+ var a3869;
+ var a3870;
+ var a3871;
+ var a3872;
+ var a3873;
+ var a3874;
+ var a3875;
+ var a3876;
+ var a3877;
+ var a3878;
+ var a3879;
+ var a3880;
+ var a3881;
+ var a3882;
+ var a3883;
+ var a3884;
+ var a3885;
+ var a3886;
+ var a3887;
+ var a3888;
+ var a3889;
+ var a3890;
+ var a3891;
+ var a3892;
+ var a3893;
+ var a3894;
+ var a3895;
+ var a3896;
+ var a3897;
+ var a3898;
+ var a3899;
+ var a3900;
+ var a3901;
+ var a3902;
+ var a3903;
+ var a3904;
+ var a3905;
+ var a3906;
+ var a3907;
+ var a3908;
+ var a3909;
+ var a3910;
+ var a3911;
+ var a3912;
+ var a3913;
+ var a3914;
+ var a3915;
+ var a3916;
+ var a3917;
+ var a3918;
+ var a3919;
+ var a3920;
+ var a3921;
+ var a3922;
+ var a3923;
+ var a3924;
+ var a3925;
+ var a3926;
+ var a3927;
+ var a3928;
+ var a3929;
+ var a3930;
+ var a3931;
+ var a3932;
+ var a3933;
+ var a3934;
+ var a3935;
+ var a3936;
+ var a3937;
+ var a3938;
+ var a3939;
+ var a3940;
+ var a3941;
+ var a3942;
+ var a3943;
+ var a3944;
+ var a3945;
+ var a3946;
+ var a3947;
+ var a3948;
+ var a3949;
+ var a3950;
+ var a3951;
+ var a3952;
+ var a3953;
+ var a3954;
+ var a3955;
+ var a3956;
+ var a3957;
+ var a3958;
+ var a3959;
+ var a3960;
+ var a3961;
+ var a3962;
+ var a3963;
+ var a3964;
+ var a3965;
+ var a3966;
+ var a3967;
+ var a3968;
+ var a3969;
+ var a3970;
+ var a3971;
+ var a3972;
+ var a3973;
+ var a3974;
+ var a3975;
+ var a3976;
+ var a3977;
+ var a3978;
+ var a3979;
+ var a3980;
+ var a3981;
+ var a3982;
+ var a3983;
+ var a3984;
+ var a3985;
+ var a3986;
+ var a3987;
+ var a3988;
+ var a3989;
+ var a3990;
+ var a3991;
+ var a3992;
+ var a3993;
+ var a3994;
+ var a3995;
+ var a3996;
+ var a3997;
+ var a3998;
+ var a3999;
+ var a4000;
+ var a4001;
+ var a4002;
+ var a4003;
+ var a4004;
+ var a4005;
+ var a4006;
+ var a4007;
+ var a4008;
+ var a4009;
+ var a4010;
+ var a4011;
+ var a4012;
+ var a4013;
+ var a4014;
+ var a4015;
+ var a4016;
+ var a4017;
+ var a4018;
+ var a4019;
+ var a4020;
+ var a4021;
+ var a4022;
+ var a4023;
+ var a4024;
+ var a4025;
+ var a4026;
+ var a4027;
+ var a4028;
+ var a4029;
+ var a4030;
+ var a4031;
+ var a4032;
+ var a4033;
+ var a4034;
+ var a4035;
+ var a4036;
+ var a4037;
+ var a4038;
+ var a4039;
+ var a4040;
+ var a4041;
+ var a4042;
+ var a4043;
+ var a4044;
+ var a4045;
+ var a4046;
+ var a4047;
+ var a4048;
+ var a4049;
+ var a4050;
+ var a4051;
+ var a4052;
+ var a4053;
+ var a4054;
+ var a4055;
+ var a4056;
+ var a4057;
+ var a4058;
+ var a4059;
+ var a4060;
+ var a4061;
+ var a4062;
+ var a4063;
+ var a4064;
+ var a4065;
+ var a4066;
+ var a4067;
+ var a4068;
+ var a4069;
+ var a4070;
+ var a4071;
+ var a4072;
+ var a4073;
+ var a4074;
+ var a4075;
+ var a4076;
+ var a4077;
+ var a4078;
+ var a4079;
+ var a4080;
+ var a4081;
+ var a4082;
+ var a4083;
+ var a4084;
+ var a4085;
+ var a4086;
+ var a4087;
+ var a4088;
+ var a4089;
+ var a4090;
+ var a4091;
+ var a4092;
+ var a4093;
+ var a4094;
+ var a4095;
+ var a4096;
+ var a4097;
+ var a4098;
+ var a4099;
+ var a4100;
+ var a4101;
+ var a4102;
+ var a4103;
+ var a4104;
+ var a4105;
+ var a4106;
+ var a4107;
+ var a4108;
+ var a4109;
+ var a4110;
+ var a4111;
+ var a4112;
+ var a4113;
+ var a4114;
+ var a4115;
+ var a4116;
+ var a4117;
+ var a4118;
+ var a4119;
+ var a4120;
+ var a4121;
+ var a4122;
+ var a4123;
+ var a4124;
+ var a4125;
+ var a4126;
+ var a4127;
+ var a4128;
+ var a4129;
+ var a4130;
+ var a4131;
+ var a4132;
+ var a4133;
+ var a4134;
+ var a4135;
+ var a4136;
+ var a4137;
+ var a4138;
+ var a4139;
+ var a4140;
+ var a4141;
+ var a4142;
+ var a4143;
+ var a4144;
+ var a4145;
+ var a4146;
+ var a4147;
+ var a4148;
+ var a4149;
+ var a4150;
+ var a4151;
+ var a4152;
+ var a4153;
+ var a4154;
+ var a4155;
+ var a4156;
+ var a4157;
+ var a4158;
+ var a4159;
+ var a4160;
+ var a4161;
+ var a4162;
+ var a4163;
+ var a4164;
+ var a4165;
+ var a4166;
+ var a4167;
+ var a4168;
+ var a4169;
+ var a4170;
+ var a4171;
+ var a4172;
+ var a4173;
+ var a4174;
+ var a4175;
+ var a4176;
+ var a4177;
+ var a4178;
+ var a4179;
+ var a4180;
+ var a4181;
+ var a4182;
+ var a4183;
+ var a4184;
+ var a4185;
+ var a4186;
+ var a4187;
+ var a4188;
+ var a4189;
+ var a4190;
+ var a4191;
+ var a4192;
+ var a4193;
+ var a4194;
+ var a4195;
+ var a4196;
+ var a4197;
+ var a4198;
+ var a4199;
+ var a4200;
+ var a4201;
+ var a4202;
+ var a4203;
+ var a4204;
+ var a4205;
+ var a4206;
+ var a4207;
+ var a4208;
+ var a4209;
+ var a4210;
+ var a4211;
+ var a4212;
+ var a4213;
+ var a4214;
+ var a4215;
+ var a4216;
+ var a4217;
+ var a4218;
+ var a4219;
+ var a4220;
+ var a4221;
+ var a4222;
+ var a4223;
+ var a4224;
+ var a4225;
+ var a4226;
+ var a4227;
+ var a4228;
+ var a4229;
+ var a4230;
+ var a4231;
+ var a4232;
+ var a4233;
+ var a4234;
+ var a4235;
+ var a4236;
+ var a4237;
+ var a4238;
+ var a4239;
+ var a4240;
+ var a4241;
+ var a4242;
+ var a4243;
+ var a4244;
+ var a4245;
+ var a4246;
+ var a4247;
+ var a4248;
+ var a4249;
+ var a4250;
+ var a4251;
+ var a4252;
+ var a4253;
+ var a4254;
+ var a4255;
+ var a4256;
+ var a4257;
+ var a4258;
+ var a4259;
+ var a4260;
+ var a4261;
+ var a4262;
+ var a4263;
+ var a4264;
+ var a4265;
+ var a4266;
+ var a4267;
+ var a4268;
+ var a4269;
+ var a4270;
+ var a4271;
+ var a4272;
+ var a4273;
+ var a4274;
+ var a4275;
+ var a4276;
+ var a4277;
+ var a4278;
+ var a4279;
+ var a4280;
+ var a4281;
+ var a4282;
+ var a4283;
+ var a4284;
+ var a4285;
+ var a4286;
+ var a4287;
+ var a4288;
+ var a4289;
+ var a4290;
+ var a4291;
+ var a4292;
+ var a4293;
+ var a4294;
+ var a4295;
+ var a4296;
+ var a4297;
+ var a4298;
+ var a4299;
+ var a4300;
+ var a4301;
+ var a4302;
+ var a4303;
+ var a4304;
+ var a4305;
+ var a4306;
+ var a4307;
+ var a4308;
+ var a4309;
+ var a4310;
+ var a4311;
+ var a4312;
+ var a4313;
+ var a4314;
+ var a4315;
+ var a4316;
+ var a4317;
+ var a4318;
+ var a4319;
+ var a4320;
+ var a4321;
+ var a4322;
+ var a4323;
+ var a4324;
+ var a4325;
+ var a4326;
+ var a4327;
+ var a4328;
+ var a4329;
+ var a4330;
+ var a4331;
+ var a4332;
+ var a4333;
+ var a4334;
+ var a4335;
+ var a4336;
+ var a4337;
+ var a4338;
+ var a4339;
+ var a4340;
+ var a4341;
+ var a4342;
+ var a4343;
+ var a4344;
+ var a4345;
+ var a4346;
+ var a4347;
+ var a4348;
+ var a4349;
+ var a4350;
+ var a4351;
+ var a4352;
+ var a4353;
+ var a4354;
+ var a4355;
+ var a4356;
+ var a4357;
+ var a4358;
+ var a4359;
+ var a4360;
+ var a4361;
+ var a4362;
+ var a4363;
+ var a4364;
+ var a4365;
+ var a4366;
+ var a4367;
+ var a4368;
+ var a4369;
+ var a4370;
+ var a4371;
+ var a4372;
+ var a4373;
+ var a4374;
+ var a4375;
+ var a4376;
+ var a4377;
+ var a4378;
+ var a4379;
+ var a4380;
+ var a4381;
+ var a4382;
+ var a4383;
+ var a4384;
+ var a4385;
+ var a4386;
+ var a4387;
+ var a4388;
+ var a4389;
+ var a4390;
+ var a4391;
+ var a4392;
+ var a4393;
+ var a4394;
+ var a4395;
+ var a4396;
+ var a4397;
+ var a4398;
+ var a4399;
+ var a4400;
+ var a4401;
+ var a4402;
+ var a4403;
+ var a4404;
+ var a4405;
+ var a4406;
+ var a4407;
+ var a4408;
+ var a4409;
+ var a4410;
+ var a4411;
+ var a4412;
+ var a4413;
+ var a4414;
+ var a4415;
+ var a4416;
+ var a4417;
+ var a4418;
+ var a4419;
+ var a4420;
+ var a4421;
+ var a4422;
+ var a4423;
+ var a4424;
+ var a4425;
+ var a4426;
+ var a4427;
+ var a4428;
+ var a4429;
+ var a4430;
+ var a4431;
+ var a4432;
+ var a4433;
+ var a4434;
+ var a4435;
+ var a4436;
+ var a4437;
+ var a4438;
+ var a4439;
+ var a4440;
+ var a4441;
+ var a4442;
+ var a4443;
+ var a4444;
+ var a4445;
+ var a4446;
+ var a4447;
+ var a4448;
+ var a4449;
+ var a4450;
+ var a4451;
+ var a4452;
+ var a4453;
+ var a4454;
+ var a4455;
+ var a4456;
+ var a4457;
+ var a4458;
+ var a4459;
+ var a4460;
+ var a4461;
+ var a4462;
+ var a4463;
+ var a4464;
+ var a4465;
+ var a4466;
+ var a4467;
+ var a4468;
+ var a4469;
+ var a4470;
+ var a4471;
+ var a4472;
+ var a4473;
+ var a4474;
+ var a4475;
+ var a4476;
+ var a4477;
+ var a4478;
+ var a4479;
+ var a4480;
+ var a4481;
+ var a4482;
+ var a4483;
+ var a4484;
+ var a4485;
+ var a4486;
+ var a4487;
+ var a4488;
+ var a4489;
+ var a4490;
+ var a4491;
+ var a4492;
+ var a4493;
+ var a4494;
+ var a4495;
+ var a4496;
+ var a4497;
+ var a4498;
+ var a4499;
+ var a4500;
+ var a4501;
+ var a4502;
+ var a4503;
+ var a4504;
+ var a4505;
+ var a4506;
+ var a4507;
+ var a4508;
+ var a4509;
+ var a4510;
+ var a4511;
+ var a4512;
+ var a4513;
+ var a4514;
+ var a4515;
+ var a4516;
+ var a4517;
+ var a4518;
+ var a4519;
+ var a4520;
+ var a4521;
+ var a4522;
+ var a4523;
+ var a4524;
+ var a4525;
+ var a4526;
+ var a4527;
+ var a4528;
+ var a4529;
+ var a4530;
+ var a4531;
+ var a4532;
+ var a4533;
+ var a4534;
+ var a4535;
+ var a4536;
+ var a4537;
+ var a4538;
+ var a4539;
+ var a4540;
+ var a4541;
+ var a4542;
+ var a4543;
+ var a4544;
+ var a4545;
+ var a4546;
+ var a4547;
+ var a4548;
+ var a4549;
+ var a4550;
+ var a4551;
+ var a4552;
+ var a4553;
+ var a4554;
+ var a4555;
+ var a4556;
+ var a4557;
+ var a4558;
+ var a4559;
+ var a4560;
+ var a4561;
+ var a4562;
+ var a4563;
+ var a4564;
+ var a4565;
+ var a4566;
+ var a4567;
+ var a4568;
+ var a4569;
+ var a4570;
+ var a4571;
+ var a4572;
+ var a4573;
+ var a4574;
+ var a4575;
+ var a4576;
+ var a4577;
+ var a4578;
+ var a4579;
+ var a4580;
+ var a4581;
+ var a4582;
+ var a4583;
+ var a4584;
+ var a4585;
+ var a4586;
+ var a4587;
+ var a4588;
+ var a4589;
+ var a4590;
+ var a4591;
+ var a4592;
+ var a4593;
+ var a4594;
+ var a4595;
+ var a4596;
+ var a4597;
+ var a4598;
+ var a4599;
+ var a4600;
+ var a4601;
+ var a4602;
+ var a4603;
+ var a4604;
+ var a4605;
+ var a4606;
+ var a4607;
+ var a4608;
+ var a4609;
+ var a4610;
+ var a4611;
+ var a4612;
+ var a4613;
+ var a4614;
+ var a4615;
+ var a4616;
+ var a4617;
+ var a4618;
+ var a4619;
+ var a4620;
+ var a4621;
+ var a4622;
+ var a4623;
+ var a4624;
+ var a4625;
+ var a4626;
+ var a4627;
+ var a4628;
+ var a4629;
+ var a4630;
+ var a4631;
+ var a4632;
+ var a4633;
+ var a4634;
+ var a4635;
+ var a4636;
+ var a4637;
+ var a4638;
+ var a4639;
+ var a4640;
+ var a4641;
+ var a4642;
+ var a4643;
+ var a4644;
+ var a4645;
+ var a4646;
+ var a4647;
+ var a4648;
+ var a4649;
+ var a4650;
+ var a4651;
+ var a4652;
+ var a4653;
+ var a4654;
+ var a4655;
+ var a4656;
+ var a4657;
+ var a4658;
+ var a4659;
+ var a4660;
+ var a4661;
+ var a4662;
+ var a4663;
+ var a4664;
+ var a4665;
+ var a4666;
+ var a4667;
+ var a4668;
+ var a4669;
+ var a4670;
+ var a4671;
+ var a4672;
+ var a4673;
+ var a4674;
+ var a4675;
+ var a4676;
+ var a4677;
+ var a4678;
+ var a4679;
+ var a4680;
+ var a4681;
+ var a4682;
+ var a4683;
+ var a4684;
+ var a4685;
+ var a4686;
+ var a4687;
+ var a4688;
+ var a4689;
+ var a4690;
+ var a4691;
+ var a4692;
+ var a4693;
+ var a4694;
+ var a4695;
+ var a4696;
+ var a4697;
+ var a4698;
+ var a4699;
+ var a4700;
+ var a4701;
+ var a4702;
+ var a4703;
+ var a4704;
+ var a4705;
+ var a4706;
+ var a4707;
+ var a4708;
+ var a4709;
+ var a4710;
+ var a4711;
+ var a4712;
+ var a4713;
+ var a4714;
+ var a4715;
+ var a4716;
+ var a4717;
+ var a4718;
+ var a4719;
+ var a4720;
+ var a4721;
+ var a4722;
+ var a4723;
+ var a4724;
+ var a4725;
+ var a4726;
+ var a4727;
+ var a4728;
+ var a4729;
+ var a4730;
+ var a4731;
+ var a4732;
+ var a4733;
+ var a4734;
+ var a4735;
+ var a4736;
+ var a4737;
+ var a4738;
+ var a4739;
+ var a4740;
+ var a4741;
+ var a4742;
+ var a4743;
+ var a4744;
+ var a4745;
+ var a4746;
+ var a4747;
+ var a4748;
+ var a4749;
+ var a4750;
+ var a4751;
+ var a4752;
+ var a4753;
+ var a4754;
+ var a4755;
+ var a4756;
+ var a4757;
+ var a4758;
+ var a4759;
+ var a4760;
+ var a4761;
+ var a4762;
+ var a4763;
+ var a4764;
+ var a4765;
+ var a4766;
+ var a4767;
+ var a4768;
+ var a4769;
+ var a4770;
+ var a4771;
+ var a4772;
+ var a4773;
+ var a4774;
+ var a4775;
+ var a4776;
+ var a4777;
+ var a4778;
+ var a4779;
+ var a4780;
+ var a4781;
+ var a4782;
+ var a4783;
+ var a4784;
+ var a4785;
+ var a4786;
+ var a4787;
+ var a4788;
+ var a4789;
+ var a4790;
+ var a4791;
+ var a4792;
+ var a4793;
+ var a4794;
+ var a4795;
+ var a4796;
+ var a4797;
+ var a4798;
+ var a4799;
+ var a4800;
+ var a4801;
+ var a4802;
+ var a4803;
+ var a4804;
+ var a4805;
+ var a4806;
+ var a4807;
+ var a4808;
+ var a4809;
+ var a4810;
+ var a4811;
+ var a4812;
+ var a4813;
+ var a4814;
+ var a4815;
+ var a4816;
+ var a4817;
+ var a4818;
+ var a4819;
+ var a4820;
+ var a4821;
+ var a4822;
+ var a4823;
+ var a4824;
+ var a4825;
+ var a4826;
+ var a4827;
+ var a4828;
+ var a4829;
+ var a4830;
+ var a4831;
+ var a4832;
+ var a4833;
+ var a4834;
+ var a4835;
+ var a4836;
+ var a4837;
+ var a4838;
+ var a4839;
+ var a4840;
+ var a4841;
+ var a4842;
+ var a4843;
+ var a4844;
+ var a4845;
+ var a4846;
+ var a4847;
+ var a4848;
+ var a4849;
+ var a4850;
+ var a4851;
+ var a4852;
+ var a4853;
+ var a4854;
+ var a4855;
+ var a4856;
+ var a4857;
+ var a4858;
+ var a4859;
+ var a4860;
+ var a4861;
+ var a4862;
+ var a4863;
+ var a4864;
+ var a4865;
+ var a4866;
+ var a4867;
+ var a4868;
+ var a4869;
+ var a4870;
+ var a4871;
+ var a4872;
+ var a4873;
+ var a4874;
+ var a4875;
+ var a4876;
+ var a4877;
+ var a4878;
+ var a4879;
+ var a4880;
+ var a4881;
+ var a4882;
+ var a4883;
+ var a4884;
+ var a4885;
+ var a4886;
+ var a4887;
+ var a4888;
+ var a4889;
+ var a4890;
+ var a4891;
+ var a4892;
+ var a4893;
+ var a4894;
+ var a4895;
+ var a4896;
+ var a4897;
+ var a4898;
+ var a4899;
+ var a4900;
+ var a4901;
+ var a4902;
+ var a4903;
+ var a4904;
+ var a4905;
+ var a4906;
+ var a4907;
+ var a4908;
+ var a4909;
+ var a4910;
+ var a4911;
+ var a4912;
+ var a4913;
+ var a4914;
+ var a4915;
+ var a4916;
+ var a4917;
+ var a4918;
+ var a4919;
+ var a4920;
+ var a4921;
+ var a4922;
+ var a4923;
+ var a4924;
+ var a4925;
+ var a4926;
+ var a4927;
+ var a4928;
+ var a4929;
+ var a4930;
+ var a4931;
+ var a4932;
+ var a4933;
+ var a4934;
+ var a4935;
+ var a4936;
+ var a4937;
+ var a4938;
+ var a4939;
+ var a4940;
+ var a4941;
+ var a4942;
+ var a4943;
+ var a4944;
+ var a4945;
+ var a4946;
+ var a4947;
+ var a4948;
+ var a4949;
+ var a4950;
+ var a4951;
+ var a4952;
+ var a4953;
+ var a4954;
+ var a4955;
+ var a4956;
+ var a4957;
+ var a4958;
+ var a4959;
+ var a4960;
+ var a4961;
+ var a4962;
+ var a4963;
+ var a4964;
+ var a4965;
+ var a4966;
+ var a4967;
+ var a4968;
+ var a4969;
+ var a4970;
+ var a4971;
+ var a4972;
+ var a4973;
+ var a4974;
+ var a4975;
+ var a4976;
+ var a4977;
+ var a4978;
+ var a4979;
+ var a4980;
+ var a4981;
+ var a4982;
+ var a4983;
+ var a4984;
+ var a4985;
+ var a4986;
+ var a4987;
+ var a4988;
+ var a4989;
+ var a4990;
+ var a4991;
+ var a4992;
+ var a4993;
+ var a4994;
+ var a4995;
+ var a4996;
+ var a4997;
+ var a4998;
+ var a4999;
+ var a5000;
+ var a5001;
+ var a5002;
+ var a5003;
+ var a5004;
+ var a5005;
+ var a5006;
+ var a5007;
+ var a5008;
+ var a5009;
+ var a5010;
+ var a5011;
+ var a5012;
+ var a5013;
+ var a5014;
+ var a5015;
+ var a5016;
+ var a5017;
+ var a5018;
+ var a5019;
+ var a5020;
+ var a5021;
+ var a5022;
+ var a5023;
+ var a5024;
+ var a5025;
+ var a5026;
+ var a5027;
+ var a5028;
+ var a5029;
+ var a5030;
+ var a5031;
+ var a5032;
+ var a5033;
+ var a5034;
+ var a5035;
+ var a5036;
+ var a5037;
+ var a5038;
+ var a5039;
+ var a5040;
+ var a5041;
+ var a5042;
+ var a5043;
+ var a5044;
+ var a5045;
+ var a5046;
+ var a5047;
+ var a5048;
+ var a5049;
+ var a5050;
+ var a5051;
+ var a5052;
+ var a5053;
+ var a5054;
+ var a5055;
+ var a5056;
+ var a5057;
+ var a5058;
+ var a5059;
+ var a5060;
+ var a5061;
+ var a5062;
+ var a5063;
+ var a5064;
+ var a5065;
+ var a5066;
+ var a5067;
+ var a5068;
+ var a5069;
+ var a5070;
+ var a5071;
+ var a5072;
+ var a5073;
+ var a5074;
+ var a5075;
+ var a5076;
+ var a5077;
+ var a5078;
+ var a5079;
+ var a5080;
+ var a5081;
+ var a5082;
+ var a5083;
+ var a5084;
+ var a5085;
+ var a5086;
+ var a5087;
+ var a5088;
+ var a5089;
+ var a5090;
+ var a5091;
+ var a5092;
+ var a5093;
+ var a5094;
+ var a5095;
+ var a5096;
+ var a5097;
+ var a5098;
+ var a5099;
+ var a5100;
+ var a5101;
+ var a5102;
+ var a5103;
+ var a5104;
+ var a5105;
+ var a5106;
+ var a5107;
+ var a5108;
+ var a5109;
+ var a5110;
+ var a5111;
+ var a5112;
+ var a5113;
+ var a5114;
+ var a5115;
+ var a5116;
+ var a5117;
+ var a5118;
+ var a5119;
+ var a5120;
+ var a5121;
+ var a5122;
+ var a5123;
+ var a5124;
+ var a5125;
+ var a5126;
+ var a5127;
+ var a5128;
+ var a5129;
+ var a5130;
+ var a5131;
+ var a5132;
+ var a5133;
+ var a5134;
+ var a5135;
+ var a5136;
+ var a5137;
+ var a5138;
+ var a5139;
+ var a5140;
+ var a5141;
+ var a5142;
+ var a5143;
+ var a5144;
+ var a5145;
+ var a5146;
+ var a5147;
+ var a5148;
+ var a5149;
+ var a5150;
+ var a5151;
+ var a5152;
+ var a5153;
+ var a5154;
+ var a5155;
+ var a5156;
+ var a5157;
+ var a5158;
+ var a5159;
+ var a5160;
+ var a5161;
+ var a5162;
+ var a5163;
+ var a5164;
+ var a5165;
+ var a5166;
+ var a5167;
+ var a5168;
+ var a5169;
+ var a5170;
+ var a5171;
+ var a5172;
+ var a5173;
+ var a5174;
+ var a5175;
+ var a5176;
+ var a5177;
+ var a5178;
+ var a5179;
+ var a5180;
+ var a5181;
+ var a5182;
+ var a5183;
+ var a5184;
+ var a5185;
+ var a5186;
+ var a5187;
+ var a5188;
+ var a5189;
+ var a5190;
+ var a5191;
+ var a5192;
+ var a5193;
+ var a5194;
+ var a5195;
+ var a5196;
+ var a5197;
+ var a5198;
+ var a5199;
+ var a5200;
+ var a5201;
+ var a5202;
+ var a5203;
+ var a5204;
+ var a5205;
+ var a5206;
+ var a5207;
+ var a5208;
+ var a5209;
+ var a5210;
+ var a5211;
+ var a5212;
+ var a5213;
+ var a5214;
+ var a5215;
+ var a5216;
+ var a5217;
+ var a5218;
+ var a5219;
+ var a5220;
+ var a5221;
+ var a5222;
+ var a5223;
+ var a5224;
+ var a5225;
+ var a5226;
+ var a5227;
+ var a5228;
+ var a5229;
+ var a5230;
+ var a5231;
+ var a5232;
+ var a5233;
+ var a5234;
+ var a5235;
+ var a5236;
+ var a5237;
+ var a5238;
+ var a5239;
+ var a5240;
+ var a5241;
+ var a5242;
+ var a5243;
+ var a5244;
+ var a5245;
+ var a5246;
+ var a5247;
+ var a5248;
+ var a5249;
+ var a5250;
+ var a5251;
+ var a5252;
+ var a5253;
+ var a5254;
+ var a5255;
+ var a5256;
+ var a5257;
+ var a5258;
+ var a5259;
+ var a5260;
+ var a5261;
+ var a5262;
+ var a5263;
+ var a5264;
+ var a5265;
+ var a5266;
+ var a5267;
+ var a5268;
+ var a5269;
+ var a5270;
+ var a5271;
+ var a5272;
+ var a5273;
+ var a5274;
+ var a5275;
+ var a5276;
+ var a5277;
+ var a5278;
+ var a5279;
+ var a5280;
+ var a5281;
+ var a5282;
+ var a5283;
+ var a5284;
+ var a5285;
+ var a5286;
+ var a5287;
+ var a5288;
+ var a5289;
+ var a5290;
+ var a5291;
+ var a5292;
+ var a5293;
+ var a5294;
+ var a5295;
+ var a5296;
+ var a5297;
+ var a5298;
+ var a5299;
+ var a5300;
+ var a5301;
+ var a5302;
+ var a5303;
+ var a5304;
+ var a5305;
+ var a5306;
+ var a5307;
+ var a5308;
+ var a5309;
+ var a5310;
+ var a5311;
+ var a5312;
+ var a5313;
+ var a5314;
+ var a5315;
+ var a5316;
+ var a5317;
+ var a5318;
+ var a5319;
+ var a5320;
+ var a5321;
+ var a5322;
+ var a5323;
+ var a5324;
+ var a5325;
+ var a5326;
+ var a5327;
+ var a5328;
+ var a5329;
+ var a5330;
+ var a5331;
+ var a5332;
+ var a5333;
+ var a5334;
+ var a5335;
+ var a5336;
+ var a5337;
+ var a5338;
+ var a5339;
+ var a5340;
+ var a5341;
+ var a5342;
+ var a5343;
+ var a5344;
+ var a5345;
+ var a5346;
+ var a5347;
+ var a5348;
+ var a5349;
+ var a5350;
+ var a5351;
+ var a5352;
+ var a5353;
+ var a5354;
+ var a5355;
+ var a5356;
+ var a5357;
+ var a5358;
+ var a5359;
+ var a5360;
+ var a5361;
+ var a5362;
+ var a5363;
+ var a5364;
+ var a5365;
+ var a5366;
+ var a5367;
+ var a5368;
+ var a5369;
+ var a5370;
+ var a5371;
+ var a5372;
+ var a5373;
+ var a5374;
+ var a5375;
+ var a5376;
+ var a5377;
+ var a5378;
+ var a5379;
+ var a5380;
+ var a5381;
+ var a5382;
+ var a5383;
+ var a5384;
+ var a5385;
+ var a5386;
+ var a5387;
+ var a5388;
+ var a5389;
+ var a5390;
+ var a5391;
+ var a5392;
+ var a5393;
+ var a5394;
+ var a5395;
+ var a5396;
+ var a5397;
+ var a5398;
+ var a5399;
+ var a5400;
+ var a5401;
+ var a5402;
+ var a5403;
+ var a5404;
+ var a5405;
+ var a5406;
+ var a5407;
+ var a5408;
+ var a5409;
+ var a5410;
+ var a5411;
+ var a5412;
+ var a5413;
+ var a5414;
+ var a5415;
+ var a5416;
+ var a5417;
+ var a5418;
+ var a5419;
+ var a5420;
+ var a5421;
+ var a5422;
+ var a5423;
+ var a5424;
+ var a5425;
+ var a5426;
+ var a5427;
+ var a5428;
+ var a5429;
+ var a5430;
+ var a5431;
+ var a5432;
+ var a5433;
+ var a5434;
+ var a5435;
+ var a5436;
+ var a5437;
+ var a5438;
+ var a5439;
+ var a5440;
+ var a5441;
+ var a5442;
+ var a5443;
+ var a5444;
+ var a5445;
+ var a5446;
+ var a5447;
+ var a5448;
+ var a5449;
+ var a5450;
+ var a5451;
+ var a5452;
+ var a5453;
+ var a5454;
+ var a5455;
+ var a5456;
+ var a5457;
+ var a5458;
+ var a5459;
+ var a5460;
+ var a5461;
+ var a5462;
+ var a5463;
+ var a5464;
+ var a5465;
+ var a5466;
+ var a5467;
+ var a5468;
+ var a5469;
+ var a5470;
+ var a5471;
+ var a5472;
+ var a5473;
+ var a5474;
+ var a5475;
+ var a5476;
+ var a5477;
+ var a5478;
+ var a5479;
+ var a5480;
+ var a5481;
+ var a5482;
+ var a5483;
+ var a5484;
+ var a5485;
+ var a5486;
+ var a5487;
+ var a5488;
+ var a5489;
+ var a5490;
+ var a5491;
+ var a5492;
+ var a5493;
+ var a5494;
+ var a5495;
+ var a5496;
+ var a5497;
+ var a5498;
+ var a5499;
+ var a5500;
+ var a5501;
+ var a5502;
+ var a5503;
+ var a5504;
+ var a5505;
+ var a5506;
+ var a5507;
+ var a5508;
+ var a5509;
+ var a5510;
+ var a5511;
+ var a5512;
+ var a5513;
+ var a5514;
+ var a5515;
+ var a5516;
+ var a5517;
+ var a5518;
+ var a5519;
+ var a5520;
+ var a5521;
+ var a5522;
+ var a5523;
+ var a5524;
+ var a5525;
+ var a5526;
+ var a5527;
+ var a5528;
+ var a5529;
+ var a5530;
+ var a5531;
+ var a5532;
+ var a5533;
+ var a5534;
+ var a5535;
+ var a5536;
+ var a5537;
+ var a5538;
+ var a5539;
+ var a5540;
+ var a5541;
+ var a5542;
+ var a5543;
+ var a5544;
+ var a5545;
+ var a5546;
+ var a5547;
+ var a5548;
+ var a5549;
+ var a5550;
+ var a5551;
+ var a5552;
+ var a5553;
+ var a5554;
+ var a5555;
+ var a5556;
+ var a5557;
+ var a5558;
+ var a5559;
+ var a5560;
+ var a5561;
+ var a5562;
+ var a5563;
+ var a5564;
+ var a5565;
+ var a5566;
+ var a5567;
+ var a5568;
+ var a5569;
+ var a5570;
+ var a5571;
+ var a5572;
+ var a5573;
+ var a5574;
+ var a5575;
+ var a5576;
+ var a5577;
+ var a5578;
+ var a5579;
+ var a5580;
+ var a5581;
+ var a5582;
+ var a5583;
+ var a5584;
+ var a5585;
+ var a5586;
+ var a5587;
+ var a5588;
+ var a5589;
+ var a5590;
+ var a5591;
+ var a5592;
+ var a5593;
+ var a5594;
+ var a5595;
+ var a5596;
+ var a5597;
+ var a5598;
+ var a5599;
+ var a5600;
+ var a5601;
+ var a5602;
+ var a5603;
+ var a5604;
+ var a5605;
+ var a5606;
+ var a5607;
+ var a5608;
+ var a5609;
+ var a5610;
+ var a5611;
+ var a5612;
+ var a5613;
+ var a5614;
+ var a5615;
+ var a5616;
+ var a5617;
+ var a5618;
+ var a5619;
+ var a5620;
+ var a5621;
+ var a5622;
+ var a5623;
+ var a5624;
+ var a5625;
+ var a5626;
+ var a5627;
+ var a5628;
+ var a5629;
+ var a5630;
+ var a5631;
+ var a5632;
+ var a5633;
+ var a5634;
+ var a5635;
+ var a5636;
+ var a5637;
+ var a5638;
+ var a5639;
+ var a5640;
+ var a5641;
+ var a5642;
+ var a5643;
+ var a5644;
+ var a5645;
+ var a5646;
+ var a5647;
+ var a5648;
+ var a5649;
+ var a5650;
+ var a5651;
+ var a5652;
+ var a5653;
+ var a5654;
+ var a5655;
+ var a5656;
+ var a5657;
+ var a5658;
+ var a5659;
+ var a5660;
+ var a5661;
+ var a5662;
+ var a5663;
+ var a5664;
+ var a5665;
+ var a5666;
+ var a5667;
+ var a5668;
+ var a5669;
+ var a5670;
+ var a5671;
+ var a5672;
+ var a5673;
+ var a5674;
+ var a5675;
+ var a5676;
+ var a5677;
+ var a5678;
+ var a5679;
+ var a5680;
+ var a5681;
+ var a5682;
+ var a5683;
+ var a5684;
+ var a5685;
+ var a5686;
+ var a5687;
+ var a5688;
+ var a5689;
+ var a5690;
+ var a5691;
+ var a5692;
+ var a5693;
+ var a5694;
+ var a5695;
+ var a5696;
+ var a5697;
+ var a5698;
+ var a5699;
+ var a5700;
+ var a5701;
+ var a5702;
+ var a5703;
+ var a5704;
+ var a5705;
+ var a5706;
+ var a5707;
+ var a5708;
+ var a5709;
+ var a5710;
+ var a5711;
+ var a5712;
+ var a5713;
+ var a5714;
+ var a5715;
+ var a5716;
+ var a5717;
+ var a5718;
+ var a5719;
+ var a5720;
+ var a5721;
+ var a5722;
+ var a5723;
+ var a5724;
+ var a5725;
+ var a5726;
+ var a5727;
+ var a5728;
+ var a5729;
+ var a5730;
+ var a5731;
+ var a5732;
+ var a5733;
+ var a5734;
+ var a5735;
+ var a5736;
+ var a5737;
+ var a5738;
+ var a5739;
+ var a5740;
+ var a5741;
+ var a5742;
+ var a5743;
+ var a5744;
+ var a5745;
+ var a5746;
+ var a5747;
+ var a5748;
+ var a5749;
+ var a5750;
+ var a5751;
+ var a5752;
+ var a5753;
+ var a5754;
+ var a5755;
+ var a5756;
+ var a5757;
+ var a5758;
+ var a5759;
+ var a5760;
+ var a5761;
+ var a5762;
+ var a5763;
+ var a5764;
+ var a5765;
+ var a5766;
+ var a5767;
+ var a5768;
+ var a5769;
+ var a5770;
+ var a5771;
+ var a5772;
+ var a5773;
+ var a5774;
+ var a5775;
+ var a5776;
+ var a5777;
+ var a5778;
+ var a5779;
+ var a5780;
+ var a5781;
+ var a5782;
+ var a5783;
+ var a5784;
+ var a5785;
+ var a5786;
+ var a5787;
+ var a5788;
+ var a5789;
+ var a5790;
+ var a5791;
+ var a5792;
+ var a5793;
+ var a5794;
+ var a5795;
+ var a5796;
+ var a5797;
+ var a5798;
+ var a5799;
+ var a5800;
+ var a5801;
+ var a5802;
+ var a5803;
+ var a5804;
+ var a5805;
+ var a5806;
+ var a5807;
+ var a5808;
+ var a5809;
+ var a5810;
+ var a5811;
+ var a5812;
+ var a5813;
+ var a5814;
+ var a5815;
+ var a5816;
+ var a5817;
+ var a5818;
+ var a5819;
+ var a5820;
+ var a5821;
+ var a5822;
+ var a5823;
+ var a5824;
+ var a5825;
+ var a5826;
+ var a5827;
+ var a5828;
+ var a5829;
+ var a5830;
+ var a5831;
+ var a5832;
+ var a5833;
+ var a5834;
+ var a5835;
+ var a5836;
+ var a5837;
+ var a5838;
+ var a5839;
+ var a5840;
+ var a5841;
+ var a5842;
+ var a5843;
+ var a5844;
+ var a5845;
+ var a5846;
+ var a5847;
+ var a5848;
+ var a5849;
+ var a5850;
+ var a5851;
+ var a5852;
+ var a5853;
+ var a5854;
+ var a5855;
+ var a5856;
+ var a5857;
+ var a5858;
+ var a5859;
+ var a5860;
+ var a5861;
+ var a5862;
+ var a5863;
+ var a5864;
+ var a5865;
+ var a5866;
+ var a5867;
+ var a5868;
+ var a5869;
+ var a5870;
+ var a5871;
+ var a5872;
+ var a5873;
+ var a5874;
+ var a5875;
+ var a5876;
+ var a5877;
+ var a5878;
+ var a5879;
+ var a5880;
+ var a5881;
+ var a5882;
+ var a5883;
+ var a5884;
+ var a5885;
+ var a5886;
+ var a5887;
+ var a5888;
+ var a5889;
+ var a5890;
+ var a5891;
+ var a5892;
+ var a5893;
+ var a5894;
+ var a5895;
+ var a5896;
+ var a5897;
+ var a5898;
+ var a5899;
+ var a5900;
+ var a5901;
+ var a5902;
+ var a5903;
+ var a5904;
+ var a5905;
+ var a5906;
+ var a5907;
+ var a5908;
+ var a5909;
+ var a5910;
+ var a5911;
+ var a5912;
+ var a5913;
+ var a5914;
+ var a5915;
+ var a5916;
+ var a5917;
+ var a5918;
+ var a5919;
+ var a5920;
+ var a5921;
+ var a5922;
+ var a5923;
+ var a5924;
+ var a5925;
+ var a5926;
+ var a5927;
+ var a5928;
+ var a5929;
+ var a5930;
+ var a5931;
+ var a5932;
+ var a5933;
+ var a5934;
+ var a5935;
+ var a5936;
+ var a5937;
+ var a5938;
+ var a5939;
+ var a5940;
+ var a5941;
+ var a5942;
+ var a5943;
+ var a5944;
+ var a5945;
+ var a5946;
+ var a5947;
+ var a5948;
+ var a5949;
+ var a5950;
+ var a5951;
+ var a5952;
+ var a5953;
+ var a5954;
+ var a5955;
+ var a5956;
+ var a5957;
+ var a5958;
+ var a5959;
+ var a5960;
+ var a5961;
+ var a5962;
+ var a5963;
+ var a5964;
+ var a5965;
+ var a5966;
+ var a5967;
+ var a5968;
+ var a5969;
+ var a5970;
+ var a5971;
+ var a5972;
+ var a5973;
+ var a5974;
+ var a5975;
+ var a5976;
+ var a5977;
+ var a5978;
+ var a5979;
+ var a5980;
+ var a5981;
+ var a5982;
+ var a5983;
+ var a5984;
+ var a5985;
+ var a5986;
+ var a5987;
+ var a5988;
+ var a5989;
+ var a5990;
+ var a5991;
+ var a5992;
+ var a5993;
+ var a5994;
+ var a5995;
+ var a5996;
+ var a5997;
+ var a5998;
+ var a5999;
+ var a6000;
+ var a6001;
+ var a6002;
+ var a6003;
+ var a6004;
+ var a6005;
+ var a6006;
+ var a6007;
+ var a6008;
+ var a6009;
+ var a6010;
+ var a6011;
+ var a6012;
+ var a6013;
+ var a6014;
+ var a6015;
+ var a6016;
+ var a6017;
+ var a6018;
+ var a6019;
+ var a6020;
+ var a6021;
+ var a6022;
+ var a6023;
+ var a6024;
+ var a6025;
+ var a6026;
+ var a6027;
+ var a6028;
+ var a6029;
+ var a6030;
+ var a6031;
+ var a6032;
+ var a6033;
+ var a6034;
+ var a6035;
+ var a6036;
+ var a6037;
+ var a6038;
+ var a6039;
+ var a6040;
+ var a6041;
+ var a6042;
+ var a6043;
+ var a6044;
+ var a6045;
+ var a6046;
+ var a6047;
+ var a6048;
+ var a6049;
+ var a6050;
+ var a6051;
+ var a6052;
+ var a6053;
+ var a6054;
+ var a6055;
+ var a6056;
+ var a6057;
+ var a6058;
+ var a6059;
+ var a6060;
+ var a6061;
+ var a6062;
+ var a6063;
+ var a6064;
+ var a6065;
+ var a6066;
+ var a6067;
+ var a6068;
+ var a6069;
+ var a6070;
+ var a6071;
+ var a6072;
+ var a6073;
+ var a6074;
+ var a6075;
+ var a6076;
+ var a6077;
+ var a6078;
+ var a6079;
+ var a6080;
+ var a6081;
+ var a6082;
+ var a6083;
+ var a6084;
+ var a6085;
+ var a6086;
+ var a6087;
+ var a6088;
+ var a6089;
+ var a6090;
+ var a6091;
+ var a6092;
+ var a6093;
+ var a6094;
+ var a6095;
+ var a6096;
+ var a6097;
+ var a6098;
+ var a6099;
+ var a6100;
+ var a6101;
+ var a6102;
+ var a6103;
+ var a6104;
+ var a6105;
+ var a6106;
+ var a6107;
+ var a6108;
+ var a6109;
+ var a6110;
+ var a6111;
+ var a6112;
+ var a6113;
+ var a6114;
+ var a6115;
+ var a6116;
+ var a6117;
+ var a6118;
+ var a6119;
+ var a6120;
+ var a6121;
+ var a6122;
+ var a6123;
+ var a6124;
+ var a6125;
+ var a6126;
+ var a6127;
+ var a6128;
+ var a6129;
+ var a6130;
+ var a6131;
+ var a6132;
+ var a6133;
+ var a6134;
+ var a6135;
+ var a6136;
+ var a6137;
+ var a6138;
+ var a6139;
+ var a6140;
+ var a6141;
+ var a6142;
+ var a6143;
+ var a6144;
+ var a6145;
+ var a6146;
+ var a6147;
+ var a6148;
+ var a6149;
+ var a6150;
+ var a6151;
+ var a6152;
+ var a6153;
+ var a6154;
+ var a6155;
+ var a6156;
+ var a6157;
+ var a6158;
+ var a6159;
+ var a6160;
+ var a6161;
+ var a6162;
+ var a6163;
+ var a6164;
+ var a6165;
+ var a6166;
+ var a6167;
+ var a6168;
+ var a6169;
+ var a6170;
+ var a6171;
+ var a6172;
+ var a6173;
+ var a6174;
+ var a6175;
+ var a6176;
+ var a6177;
+ var a6178;
+ var a6179;
+ var a6180;
+ var a6181;
+ var a6182;
+ var a6183;
+ var a6184;
+ var a6185;
+ var a6186;
+ var a6187;
+ var a6188;
+ var a6189;
+ var a6190;
+ var a6191;
+ var a6192;
+ var a6193;
+ var a6194;
+ var a6195;
+ var a6196;
+ var a6197;
+ var a6198;
+ var a6199;
+ var a6200;
+ var a6201;
+ var a6202;
+ var a6203;
+ var a6204;
+ var a6205;
+ var a6206;
+ var a6207;
+ var a6208;
+ var a6209;
+ var a6210;
+ var a6211;
+ var a6212;
+ var a6213;
+ var a6214;
+ var a6215;
+ var a6216;
+ var a6217;
+ var a6218;
+ var a6219;
+ var a6220;
+ var a6221;
+ var a6222;
+ var a6223;
+ var a6224;
+ var a6225;
+ var a6226;
+ var a6227;
+ var a6228;
+ var a6229;
+ var a6230;
+ var a6231;
+ var a6232;
+ var a6233;
+ var a6234;
+ var a6235;
+ var a6236;
+ var a6237;
+ var a6238;
+ var a6239;
+ var a6240;
+ var a6241;
+ var a6242;
+ var a6243;
+ var a6244;
+ var a6245;
+ var a6246;
+ var a6247;
+ var a6248;
+ var a6249;
+ var a6250;
+ var a6251;
+ var a6252;
+ var a6253;
+ var a6254;
+ var a6255;
+ var a6256;
+ var a6257;
+ var a6258;
+ var a6259;
+ var a6260;
+ var a6261;
+ var a6262;
+ var a6263;
+ var a6264;
+ var a6265;
+ var a6266;
+ var a6267;
+ var a6268;
+ var a6269;
+ var a6270;
+ var a6271;
+ var a6272;
+ var a6273;
+ var a6274;
+ var a6275;
+ var a6276;
+ var a6277;
+ var a6278;
+ var a6279;
+ var a6280;
+ var a6281;
+ var a6282;
+ var a6283;
+ var a6284;
+ var a6285;
+ var a6286;
+ var a6287;
+ var a6288;
+ var a6289;
+ var a6290;
+ var a6291;
+ var a6292;
+ var a6293;
+ var a6294;
+ var a6295;
+ var a6296;
+ var a6297;
+ var a6298;
+ var a6299;
+ var a6300;
+ var a6301;
+ var a6302;
+ var a6303;
+ var a6304;
+ var a6305;
+ var a6306;
+ var a6307;
+ var a6308;
+ var a6309;
+ var a6310;
+ var a6311;
+ var a6312;
+ var a6313;
+ var a6314;
+ var a6315;
+ var a6316;
+ var a6317;
+ var a6318;
+ var a6319;
+ var a6320;
+ var a6321;
+ var a6322;
+ var a6323;
+ var a6324;
+ var a6325;
+ var a6326;
+ var a6327;
+ var a6328;
+ var a6329;
+ var a6330;
+ var a6331;
+ var a6332;
+ var a6333;
+ var a6334;
+ var a6335;
+ var a6336;
+ var a6337;
+ var a6338;
+ var a6339;
+ var a6340;
+ var a6341;
+ var a6342;
+ var a6343;
+ var a6344;
+ var a6345;
+ var a6346;
+ var a6347;
+ var a6348;
+ var a6349;
+ var a6350;
+ var a6351;
+ var a6352;
+ var a6353;
+ var a6354;
+ var a6355;
+ var a6356;
+ var a6357;
+ var a6358;
+ var a6359;
+ var a6360;
+ var a6361;
+ var a6362;
+ var a6363;
+ var a6364;
+ var a6365;
+ var a6366;
+ var a6367;
+ var a6368;
+ var a6369;
+ var a6370;
+ var a6371;
+ var a6372;
+ var a6373;
+ var a6374;
+ var a6375;
+ var a6376;
+ var a6377;
+ var a6378;
+ var a6379;
+ var a6380;
+ var a6381;
+ var a6382;
+ var a6383;
+ var a6384;
+ var a6385;
+ var a6386;
+ var a6387;
+ var a6388;
+ var a6389;
+ var a6390;
+ var a6391;
+ var a6392;
+ var a6393;
+ var a6394;
+ var a6395;
+ var a6396;
+ var a6397;
+ var a6398;
+ var a6399;
+ var a6400;
+ var a6401;
+ var a6402;
+ var a6403;
+ var a6404;
+ var a6405;
+ var a6406;
+ var a6407;
+ var a6408;
+ var a6409;
+ var a6410;
+ var a6411;
+ var a6412;
+ var a6413;
+ var a6414;
+ var a6415;
+ var a6416;
+ var a6417;
+ var a6418;
+ var a6419;
+ var a6420;
+ var a6421;
+ var a6422;
+ var a6423;
+ var a6424;
+ var a6425;
+ var a6426;
+ var a6427;
+ var a6428;
+ var a6429;
+ var a6430;
+ var a6431;
+ var a6432;
+ var a6433;
+ var a6434;
+ var a6435;
+ var a6436;
+ var a6437;
+ var a6438;
+ var a6439;
+ var a6440;
+ var a6441;
+ var a6442;
+ var a6443;
+ var a6444;
+ var a6445;
+ var a6446;
+ var a6447;
+ var a6448;
+ var a6449;
+ var a6450;
+ var a6451;
+ var a6452;
+ var a6453;
+ var a6454;
+ var a6455;
+ var a6456;
+ var a6457;
+ var a6458;
+ var a6459;
+ var a6460;
+ var a6461;
+ var a6462;
+ var a6463;
+ var a6464;
+ var a6465;
+ var a6466;
+ var a6467;
+ var a6468;
+ var a6469;
+ var a6470;
+ var a6471;
+ var a6472;
+ var a6473;
+ var a6474;
+ var a6475;
+ var a6476;
+ var a6477;
+ var a6478;
+ var a6479;
+ var a6480;
+ var a6481;
+ var a6482;
+ var a6483;
+ var a6484;
+ var a6485;
+ var a6486;
+ var a6487;
+ var a6488;
+ var a6489;
+ var a6490;
+ var a6491;
+ var a6492;
+ var a6493;
+ var a6494;
+ var a6495;
+ var a6496;
+ var a6497;
+ var a6498;
+ var a6499;
+ var a6500;
+ var a6501;
+ var a6502;
+ var a6503;
+ var a6504;
+ var a6505;
+ var a6506;
+ var a6507;
+ var a6508;
+ var a6509;
+ var a6510;
+ var a6511;
+ var a6512;
+ var a6513;
+ var a6514;
+ var a6515;
+ var a6516;
+ var a6517;
+ var a6518;
+ var a6519;
+ var a6520;
+ var a6521;
+ var a6522;
+ var a6523;
+ var a6524;
+ var a6525;
+ var a6526;
+ var a6527;
+ var a6528;
+ var a6529;
+ var a6530;
+ var a6531;
+ var a6532;
+ var a6533;
+ var a6534;
+ var a6535;
+ var a6536;
+ var a6537;
+ var a6538;
+ var a6539;
+ var a6540;
+ var a6541;
+ var a6542;
+ var a6543;
+ var a6544;
+ var a6545;
+ var a6546;
+ var a6547;
+ var a6548;
+ var a6549;
+ var a6550;
+ var a6551;
+ var a6552;
+ var a6553;
+ var a6554;
+ var a6555;
+ var a6556;
+ var a6557;
+ var a6558;
+ var a6559;
+ var a6560;
+ var a6561;
+ var a6562;
+ var a6563;
+ var a6564;
+ var a6565;
+ var a6566;
+ var a6567;
+ var a6568;
+ var a6569;
+ var a6570;
+ var a6571;
+ var a6572;
+ var a6573;
+ var a6574;
+ var a6575;
+ var a6576;
+ var a6577;
+ var a6578;
+ var a6579;
+ var a6580;
+ var a6581;
+ var a6582;
+ var a6583;
+ var a6584;
+ var a6585;
+ var a6586;
+ var a6587;
+ var a6588;
+ var a6589;
+ var a6590;
+ var a6591;
+ var a6592;
+ var a6593;
+ var a6594;
+ var a6595;
+ var a6596;
+ var a6597;
+ var a6598;
+ var a6599;
+ var a6600;
+ var a6601;
+ var a6602;
+ var a6603;
+ var a6604;
+ var a6605;
+ var a6606;
+ var a6607;
+ var a6608;
+ var a6609;
+ var a6610;
+ var a6611;
+ var a6612;
+ var a6613;
+ var a6614;
+ var a6615;
+ var a6616;
+ var a6617;
+ var a6618;
+ var a6619;
+ var a6620;
+ var a6621;
+ var a6622;
+ var a6623;
+ var a6624;
+ var a6625;
+ var a6626;
+ var a6627;
+ var a6628;
+ var a6629;
+ var a6630;
+ var a6631;
+ var a6632;
+ var a6633;
+ var a6634;
+ var a6635;
+ var a6636;
+ var a6637;
+ var a6638;
+ var a6639;
+ var a6640;
+ var a6641;
+ var a6642;
+ var a6643;
+ var a6644;
+ var a6645;
+ var a6646;
+ var a6647;
+ var a6648;
+ var a6649;
+ var a6650;
+ var a6651;
+ var a6652;
+ var a6653;
+ var a6654;
+ var a6655;
+ var a6656;
+ var a6657;
+ var a6658;
+ var a6659;
+ var a6660;
+ var a6661;
+ var a6662;
+ var a6663;
+ var a6664;
+ var a6665;
+ var a6666;
+ var a6667;
+ var a6668;
+ var a6669;
+ var a6670;
+ var a6671;
+ var a6672;
+ var a6673;
+ var a6674;
+ var a6675;
+ var a6676;
+ var a6677;
+ var a6678;
+ var a6679;
+ var a6680;
+ var a6681;
+ var a6682;
+ var a6683;
+ var a6684;
+ var a6685;
+ var a6686;
+ var a6687;
+ var a6688;
+ var a6689;
+ var a6690;
+ var a6691;
+ var a6692;
+ var a6693;
+ var a6694;
+ var a6695;
+ var a6696;
+ var a6697;
+ var a6698;
+ var a6699;
+ var a6700;
+ var a6701;
+ var a6702;
+ var a6703;
+ var a6704;
+ var a6705;
+ var a6706;
+ var a6707;
+ var a6708;
+ var a6709;
+ var a6710;
+ var a6711;
+ var a6712;
+ var a6713;
+ var a6714;
+ var a6715;
+ var a6716;
+ var a6717;
+ var a6718;
+ var a6719;
+ var a6720;
+ var a6721;
+ var a6722;
+ var a6723;
+ var a6724;
+ var a6725;
+ var a6726;
+ var a6727;
+ var a6728;
+ var a6729;
+ var a6730;
+ var a6731;
+ var a6732;
+ var a6733;
+ var a6734;
+ var a6735;
+ var a6736;
+ var a6737;
+ var a6738;
+ var a6739;
+ var a6740;
+ var a6741;
+ var a6742;
+ var a6743;
+ var a6744;
+ var a6745;
+ var a6746;
+ var a6747;
+ var a6748;
+ var a6749;
+ var a6750;
+ var a6751;
+ var a6752;
+ var a6753;
+ var a6754;
+ var a6755;
+ var a6756;
+ var a6757;
+ var a6758;
+ var a6759;
+ var a6760;
+ var a6761;
+ var a6762;
+ var a6763;
+ var a6764;
+ var a6765;
+ var a6766;
+ var a6767;
+ var a6768;
+ var a6769;
+ var a6770;
+ var a6771;
+ var a6772;
+ var a6773;
+ var a6774;
+ var a6775;
+ var a6776;
+ var a6777;
+ var a6778;
+ var a6779;
+ var a6780;
+ var a6781;
+ var a6782;
+ var a6783;
+ var a6784;
+ var a6785;
+ var a6786;
+ var a6787;
+ var a6788;
+ var a6789;
+ var a6790;
+ var a6791;
+ var a6792;
+ var a6793;
+ var a6794;
+ var a6795;
+ var a6796;
+ var a6797;
+ var a6798;
+ var a6799;
+ var a6800;
+ var a6801;
+ var a6802;
+ var a6803;
+ var a6804;
+ var a6805;
+ var a6806;
+ var a6807;
+ var a6808;
+ var a6809;
+ var a6810;
+ var a6811;
+ var a6812;
+ var a6813;
+ var a6814;
+ var a6815;
+ var a6816;
+ var a6817;
+ var a6818;
+ var a6819;
+ var a6820;
+ var a6821;
+ var a6822;
+ var a6823;
+ var a6824;
+ var a6825;
+ var a6826;
+ var a6827;
+ var a6828;
+ var a6829;
+ var a6830;
+ var a6831;
+ var a6832;
+ var a6833;
+ var a6834;
+ var a6835;
+ var a6836;
+ var a6837;
+ var a6838;
+ var a6839;
+ var a6840;
+ var a6841;
+ var a6842;
+ var a6843;
+ var a6844;
+ var a6845;
+ var a6846;
+ var a6847;
+ var a6848;
+ var a6849;
+ var a6850;
+ var a6851;
+ var a6852;
+ var a6853;
+ var a6854;
+ var a6855;
+ var a6856;
+ var a6857;
+ var a6858;
+ var a6859;
+ var a6860;
+ var a6861;
+ var a6862;
+ var a6863;
+ var a6864;
+ var a6865;
+ var a6866;
+ var a6867;
+ var a6868;
+ var a6869;
+ var a6870;
+ var a6871;
+ var a6872;
+ var a6873;
+ var a6874;
+ var a6875;
+ var a6876;
+ var a6877;
+ var a6878;
+ var a6879;
+ var a6880;
+ var a6881;
+ var a6882;
+ var a6883;
+ var a6884;
+ var a6885;
+ var a6886;
+ var a6887;
+ var a6888;
+ var a6889;
+ var a6890;
+ var a6891;
+ var a6892;
+ var a6893;
+ var a6894;
+ var a6895;
+ var a6896;
+ var a6897;
+ var a6898;
+ var a6899;
+ var a6900;
+ var a6901;
+ var a6902;
+ var a6903;
+ var a6904;
+ var a6905;
+ var a6906;
+ var a6907;
+ var a6908;
+ var a6909;
+ var a6910;
+ var a6911;
+ var a6912;
+ var a6913;
+ var a6914;
+ var a6915;
+ var a6916;
+ var a6917;
+ var a6918;
+ var a6919;
+ var a6920;
+ var a6921;
+ var a6922;
+ var a6923;
+ var a6924;
+ var a6925;
+ var a6926;
+ var a6927;
+ var a6928;
+ var a6929;
+ var a6930;
+ var a6931;
+ var a6932;
+ var a6933;
+ var a6934;
+ var a6935;
+ var a6936;
+ var a6937;
+ var a6938;
+ var a6939;
+ var a6940;
+ var a6941;
+ var a6942;
+ var a6943;
+ var a6944;
+ var a6945;
+ var a6946;
+ var a6947;
+ var a6948;
+ var a6949;
+ var a6950;
+ var a6951;
+ var a6952;
+ var a6953;
+ var a6954;
+ var a6955;
+ var a6956;
+ var a6957;
+ var a6958;
+ var a6959;
+ var a6960;
+ var a6961;
+ var a6962;
+ var a6963;
+ var a6964;
+ var a6965;
+ var a6966;
+ var a6967;
+ var a6968;
+ var a6969;
+ var a6970;
+ var a6971;
+ var a6972;
+ var a6973;
+ var a6974;
+ var a6975;
+ var a6976;
+ var a6977;
+ var a6978;
+ var a6979;
+ var a6980;
+ var a6981;
+ var a6982;
+ var a6983;
+ var a6984;
+ var a6985;
+ var a6986;
+ var a6987;
+ var a6988;
+ var a6989;
+ var a6990;
+ var a6991;
+ var a6992;
+ var a6993;
+ var a6994;
+ var a6995;
+ var a6996;
+ var a6997;
+ var a6998;
+ var a6999;
+ var a7000;
+ var a7001;
+ var a7002;
+ var a7003;
+ var a7004;
+ var a7005;
+ var a7006;
+ var a7007;
+ var a7008;
+ var a7009;
+ var a7010;
+ var a7011;
+ var a7012;
+ var a7013;
+ var a7014;
+ var a7015;
+ var a7016;
+ var a7017;
+ var a7018;
+ var a7019;
+ var a7020;
+ var a7021;
+ var a7022;
+ var a7023;
+ var a7024;
+ var a7025;
+ var a7026;
+ var a7027;
+ var a7028;
+ var a7029;
+ var a7030;
+ var a7031;
+ var a7032;
+ var a7033;
+ var a7034;
+ var a7035;
+ var a7036;
+ var a7037;
+ var a7038;
+ var a7039;
+ var a7040;
+ var a7041;
+ var a7042;
+ var a7043;
+ var a7044;
+ var a7045;
+ var a7046;
+ var a7047;
+ var a7048;
+ var a7049;
+ var a7050;
+ var a7051;
+ var a7052;
+ var a7053;
+ var a7054;
+ var a7055;
+ var a7056;
+ var a7057;
+ var a7058;
+ var a7059;
+ var a7060;
+ var a7061;
+ var a7062;
+ var a7063;
+ var a7064;
+ var a7065;
+ var a7066;
+ var a7067;
+ var a7068;
+ var a7069;
+ var a7070;
+ var a7071;
+ var a7072;
+ var a7073;
+ var a7074;
+ var a7075;
+ var a7076;
+ var a7077;
+ var a7078;
+ var a7079;
+ var a7080;
+ var a7081;
+ var a7082;
+ var a7083;
+ var a7084;
+ var a7085;
+ var a7086;
+ var a7087;
+ var a7088;
+ var a7089;
+ var a7090;
+ var a7091;
+ var a7092;
+ var a7093;
+ var a7094;
+ var a7095;
+ var a7096;
+ var a7097;
+ var a7098;
+ var a7099;
+ var a7100;
+ var a7101;
+ var a7102;
+ var a7103;
+ var a7104;
+ var a7105;
+ var a7106;
+ var a7107;
+ var a7108;
+ var a7109;
+ var a7110;
+ var a7111;
+ var a7112;
+ var a7113;
+ var a7114;
+ var a7115;
+ var a7116;
+ var a7117;
+ var a7118;
+ var a7119;
+ var a7120;
+ var a7121;
+ var a7122;
+ var a7123;
+ var a7124;
+ var a7125;
+ var a7126;
+ var a7127;
+ var a7128;
+ var a7129;
+ var a7130;
+ var a7131;
+ var a7132;
+ var a7133;
+ var a7134;
+ var a7135;
+ var a7136;
+ var a7137;
+ var a7138;
+ var a7139;
+ var a7140;
+ var a7141;
+ var a7142;
+ var a7143;
+ var a7144;
+ var a7145;
+ var a7146;
+ var a7147;
+ var a7148;
+ var a7149;
+ var a7150;
+ var a7151;
+ var a7152;
+ var a7153;
+ var a7154;
+ var a7155;
+ var a7156;
+ var a7157;
+ var a7158;
+ var a7159;
+ var a7160;
+ var a7161;
+ var a7162;
+ var a7163;
+ var a7164;
+ var a7165;
+ var a7166;
+ var a7167;
+ var a7168;
+ var a7169;
+ var a7170;
+ var a7171;
+ var a7172;
+ var a7173;
+ var a7174;
+ var a7175;
+ var a7176;
+ var a7177;
+ var a7178;
+ var a7179;
+ var a7180;
+ var a7181;
+ var a7182;
+ var a7183;
+ var a7184;
+ var a7185;
+ var a7186;
+ var a7187;
+ var a7188;
+ var a7189;
+ var a7190;
+ var a7191;
+ var a7192;
+ var a7193;
+ var a7194;
+ var a7195;
+ var a7196;
+ var a7197;
+ var a7198;
+ var a7199;
+ var a7200;
+ var a7201;
+ var a7202;
+ var a7203;
+ var a7204;
+ var a7205;
+ var a7206;
+ var a7207;
+ var a7208;
+ var a7209;
+ var a7210;
+ var a7211;
+ var a7212;
+ var a7213;
+ var a7214;
+ var a7215;
+ var a7216;
+ var a7217;
+ var a7218;
+ var a7219;
+ var a7220;
+ var a7221;
+ var a7222;
+ var a7223;
+ var a7224;
+ var a7225;
+ var a7226;
+ var a7227;
+ var a7228;
+ var a7229;
+ var a7230;
+ var a7231;
+ var a7232;
+ var a7233;
+ var a7234;
+ var a7235;
+ var a7236;
+ var a7237;
+ var a7238;
+ var a7239;
+ var a7240;
+ var a7241;
+ var a7242;
+ var a7243;
+ var a7244;
+ var a7245;
+ var a7246;
+ var a7247;
+ var a7248;
+ var a7249;
+ var a7250;
+ var a7251;
+ var a7252;
+ var a7253;
+ var a7254;
+ var a7255;
+ var a7256;
+ var a7257;
+ var a7258;
+ var a7259;
+ var a7260;
+ var a7261;
+ var a7262;
+ var a7263;
+ var a7264;
+ var a7265;
+ var a7266;
+ var a7267;
+ var a7268;
+ var a7269;
+ var a7270;
+ var a7271;
+ var a7272;
+ var a7273;
+ var a7274;
+ var a7275;
+ var a7276;
+ var a7277;
+ var a7278;
+ var a7279;
+ var a7280;
+ var a7281;
+ var a7282;
+ var a7283;
+ var a7284;
+ var a7285;
+ var a7286;
+ var a7287;
+ var a7288;
+ var a7289;
+ var a7290;
+ var a7291;
+ var a7292;
+ var a7293;
+ var a7294;
+ var a7295;
+ var a7296;
+ var a7297;
+ var a7298;
+ var a7299;
+ var a7300;
+ var a7301;
+ var a7302;
+ var a7303;
+ var a7304;
+ var a7305;
+ var a7306;
+ var a7307;
+ var a7308;
+ var a7309;
+ var a7310;
+ var a7311;
+ var a7312;
+ var a7313;
+ var a7314;
+ var a7315;
+ var a7316;
+ var a7317;
+ var a7318;
+ var a7319;
+ var a7320;
+ var a7321;
+ var a7322;
+ var a7323;
+ var a7324;
+ var a7325;
+ var a7326;
+ var a7327;
+ var a7328;
+ var a7329;
+ var a7330;
+ var a7331;
+ var a7332;
+ var a7333;
+ var a7334;
+ var a7335;
+ var a7336;
+ var a7337;
+ var a7338;
+ var a7339;
+ var a7340;
+ var a7341;
+ var a7342;
+ var a7343;
+ var a7344;
+ var a7345;
+ var a7346;
+ var a7347;
+ var a7348;
+ var a7349;
+ var a7350;
+ var a7351;
+ var a7352;
+ var a7353;
+ var a7354;
+ var a7355;
+ var a7356;
+ var a7357;
+ var a7358;
+ var a7359;
+ var a7360;
+ var a7361;
+ var a7362;
+ var a7363;
+ var a7364;
+ var a7365;
+ var a7366;
+ var a7367;
+ var a7368;
+ var a7369;
+ var a7370;
+ var a7371;
+ var a7372;
+ var a7373;
+ var a7374;
+ var a7375;
+ var a7376;
+ var a7377;
+ var a7378;
+ var a7379;
+ var a7380;
+ var a7381;
+ var a7382;
+ var a7383;
+ var a7384;
+ var a7385;
+ var a7386;
+ var a7387;
+ var a7388;
+ var a7389;
+ var a7390;
+ var a7391;
+ var a7392;
+ var a7393;
+ var a7394;
+ var a7395;
+ var a7396;
+ var a7397;
+ var a7398;
+ var a7399;
+ var a7400;
+ var a7401;
+ var a7402;
+ var a7403;
+ var a7404;
+ var a7405;
+ var a7406;
+ var a7407;
+ var a7408;
+ var a7409;
+ var a7410;
+ var a7411;
+ var a7412;
+ var a7413;
+ var a7414;
+ var a7415;
+ var a7416;
+ var a7417;
+ var a7418;
+ var a7419;
+ var a7420;
+ var a7421;
+ var a7422;
+ var a7423;
+ var a7424;
+ var a7425;
+ var a7426;
+ var a7427;
+ var a7428;
+ var a7429;
+ var a7430;
+ var a7431;
+ var a7432;
+ var a7433;
+ var a7434;
+ var a7435;
+ var a7436;
+ var a7437;
+ var a7438;
+ var a7439;
+ var a7440;
+ var a7441;
+ var a7442;
+ var a7443;
+ var a7444;
+ var a7445;
+ var a7446;
+ var a7447;
+ var a7448;
+ var a7449;
+ var a7450;
+ var a7451;
+ var a7452;
+ var a7453;
+ var a7454;
+ var a7455;
+ var a7456;
+ var a7457;
+ var a7458;
+ var a7459;
+ var a7460;
+ var a7461;
+ var a7462;
+ var a7463;
+ var a7464;
+ var a7465;
+ var a7466;
+ var a7467;
+ var a7468;
+ var a7469;
+ var a7470;
+ var a7471;
+ var a7472;
+ var a7473;
+ var a7474;
+ var a7475;
+ var a7476;
+ var a7477;
+ var a7478;
+ var a7479;
+ var a7480;
+ var a7481;
+ var a7482;
+ var a7483;
+ var a7484;
+ var a7485;
+ var a7486;
+ var a7487;
+ var a7488;
+ var a7489;
+ var a7490;
+ var a7491;
+ var a7492;
+ var a7493;
+ var a7494;
+ var a7495;
+ var a7496;
+ var a7497;
+ var a7498;
+ var a7499;
+ var a7500;
+ var a7501;
+ var a7502;
+ var a7503;
+ var a7504;
+ var a7505;
+ var a7506;
+ var a7507;
+ var a7508;
+ var a7509;
+ var a7510;
+ var a7511;
+ var a7512;
+ var a7513;
+ var a7514;
+ var a7515;
+ var a7516;
+ var a7517;
+ var a7518;
+ var a7519;
+ var a7520;
+ var a7521;
+ var a7522;
+ var a7523;
+ var a7524;
+ var a7525;
+ var a7526;
+ var a7527;
+ var a7528;
+ var a7529;
+ var a7530;
+ var a7531;
+ var a7532;
+ var a7533;
+ var a7534;
+ var a7535;
+ var a7536;
+ var a7537;
+ var a7538;
+ var a7539;
+ var a7540;
+ var a7541;
+ var a7542;
+ var a7543;
+ var a7544;
+ var a7545;
+ var a7546;
+ var a7547;
+ var a7548;
+ var a7549;
+ var a7550;
+ var a7551;
+ var a7552;
+ var a7553;
+ var a7554;
+ var a7555;
+ var a7556;
+ var a7557;
+ var a7558;
+ var a7559;
+ var a7560;
+ var a7561;
+ var a7562;
+ var a7563;
+ var a7564;
+ var a7565;
+ var a7566;
+ var a7567;
+ var a7568;
+ var a7569;
+ var a7570;
+ var a7571;
+ var a7572;
+ var a7573;
+ var a7574;
+ var a7575;
+ var a7576;
+ var a7577;
+ var a7578;
+ var a7579;
+ var a7580;
+ var a7581;
+ var a7582;
+ var a7583;
+ var a7584;
+ var a7585;
+ var a7586;
+ var a7587;
+ var a7588;
+ var a7589;
+ var a7590;
+ var a7591;
+ var a7592;
+ var a7593;
+ var a7594;
+ var a7595;
+ var a7596;
+ var a7597;
+ var a7598;
+ var a7599;
+ var a7600;
+ var a7601;
+ var a7602;
+ var a7603;
+ var a7604;
+ var a7605;
+ var a7606;
+ var a7607;
+ var a7608;
+ var a7609;
+ var a7610;
+ var a7611;
+ var a7612;
+ var a7613;
+ var a7614;
+ var a7615;
+ var a7616;
+ var a7617;
+ var a7618;
+ var a7619;
+ var a7620;
+ var a7621;
+ var a7622;
+ var a7623;
+ var a7624;
+ var a7625;
+ var a7626;
+ var a7627;
+ var a7628;
+ var a7629;
+ var a7630;
+ var a7631;
+ var a7632;
+ var a7633;
+ var a7634;
+ var a7635;
+ var a7636;
+ var a7637;
+ var a7638;
+ var a7639;
+ var a7640;
+ var a7641;
+ var a7642;
+ var a7643;
+ var a7644;
+ var a7645;
+ var a7646;
+ var a7647;
+ var a7648;
+ var a7649;
+ var a7650;
+ var a7651;
+ var a7652;
+ var a7653;
+ var a7654;
+ var a7655;
+ var a7656;
+ var a7657;
+ var a7658;
+ var a7659;
+ var a7660;
+ var a7661;
+ var a7662;
+ var a7663;
+ var a7664;
+ var a7665;
+ var a7666;
+ var a7667;
+ var a7668;
+ var a7669;
+ var a7670;
+ var a7671;
+ var a7672;
+ var a7673;
+ var a7674;
+ var a7675;
+ var a7676;
+ var a7677;
+ var a7678;
+ var a7679;
+ var a7680;
+ var a7681;
+ var a7682;
+ var a7683;
+ var a7684;
+ var a7685;
+ var a7686;
+ var a7687;
+ var a7688;
+ var a7689;
+ var a7690;
+ var a7691;
+ var a7692;
+ var a7693;
+ var a7694;
+ var a7695;
+ var a7696;
+ var a7697;
+ var a7698;
+ var a7699;
+ var a7700;
+ var a7701;
+ var a7702;
+ var a7703;
+ var a7704;
+ var a7705;
+ var a7706;
+ var a7707;
+ var a7708;
+ var a7709;
+ var a7710;
+ var a7711;
+ var a7712;
+ var a7713;
+ var a7714;
+ var a7715;
+ var a7716;
+ var a7717;
+ var a7718;
+ var a7719;
+ var a7720;
+ var a7721;
+ var a7722;
+ var a7723;
+ var a7724;
+ var a7725;
+ var a7726;
+ var a7727;
+ var a7728;
+ var a7729;
+ var a7730;
+ var a7731;
+ var a7732;
+ var a7733;
+ var a7734;
+ var a7735;
+ var a7736;
+ var a7737;
+ var a7738;
+ var a7739;
+ var a7740;
+ var a7741;
+ var a7742;
+ var a7743;
+ var a7744;
+ var a7745;
+ var a7746;
+ var a7747;
+ var a7748;
+ var a7749;
+ var a7750;
+ var a7751;
+ var a7752;
+ var a7753;
+ var a7754;
+ var a7755;
+ var a7756;
+ var a7757;
+ var a7758;
+ var a7759;
+ var a7760;
+ var a7761;
+ var a7762;
+ var a7763;
+ var a7764;
+ var a7765;
+ var a7766;
+ var a7767;
+ var a7768;
+ var a7769;
+ var a7770;
+ var a7771;
+ var a7772;
+ var a7773;
+ var a7774;
+ var a7775;
+ var a7776;
+ var a7777;
+ var a7778;
+ var a7779;
+ var a7780;
+ var a7781;
+ var a7782;
+ var a7783;
+ var a7784;
+ var a7785;
+ var a7786;
+ var a7787;
+ var a7788;
+ var a7789;
+ var a7790;
+ var a7791;
+ var a7792;
+ var a7793;
+ var a7794;
+ var a7795;
+ var a7796;
+ var a7797;
+ var a7798;
+ var a7799;
+ var a7800;
+ var a7801;
+ var a7802;
+ var a7803;
+ var a7804;
+ var a7805;
+ var a7806;
+ var a7807;
+ var a7808;
+ var a7809;
+ var a7810;
+ var a7811;
+ var a7812;
+ var a7813;
+ var a7814;
+ var a7815;
+ var a7816;
+ var a7817;
+ var a7818;
+ var a7819;
+ var a7820;
+ var a7821;
+ var a7822;
+ var a7823;
+ var a7824;
+ var a7825;
+ var a7826;
+ var a7827;
+ var a7828;
+ var a7829;
+ var a7830;
+ var a7831;
+ var a7832;
+ var a7833;
+ var a7834;
+ var a7835;
+ var a7836;
+ var a7837;
+ var a7838;
+ var a7839;
+ var a7840;
+ var a7841;
+ var a7842;
+ var a7843;
+ var a7844;
+ var a7845;
+ var a7846;
+ var a7847;
+ var a7848;
+ var a7849;
+ var a7850;
+ var a7851;
+ var a7852;
+ var a7853;
+ var a7854;
+ var a7855;
+ var a7856;
+ var a7857;
+ var a7858;
+ var a7859;
+ var a7860;
+ var a7861;
+ var a7862;
+ var a7863;
+ var a7864;
+ var a7865;
+ var a7866;
+ var a7867;
+ var a7868;
+ var a7869;
+ var a7870;
+ var a7871;
+ var a7872;
+ var a7873;
+ var a7874;
+ var a7875;
+ var a7876;
+ var a7877;
+ var a7878;
+ var a7879;
+ var a7880;
+ var a7881;
+ var a7882;
+ var a7883;
+ var a7884;
+ var a7885;
+ var a7886;
+ var a7887;
+ var a7888;
+ var a7889;
+ var a7890;
+ var a7891;
+ var a7892;
+ var a7893;
+ var a7894;
+ var a7895;
+ var a7896;
+ var a7897;
+ var a7898;
+ var a7899;
+ var a7900;
+ var a7901;
+ var a7902;
+ var a7903;
+ var a7904;
+ var a7905;
+ var a7906;
+ var a7907;
+ var a7908;
+ var a7909;
+ var a7910;
+ var a7911;
+ var a7912;
+ var a7913;
+ var a7914;
+ var a7915;
+ var a7916;
+ var a7917;
+ var a7918;
+ var a7919;
+ var a7920;
+ var a7921;
+ var a7922;
+ var a7923;
+ var a7924;
+ var a7925;
+ var a7926;
+ var a7927;
+ var a7928;
+ var a7929;
+ var a7930;
+ var a7931;
+ var a7932;
+ var a7933;
+ var a7934;
+ var a7935;
+ var a7936;
+ var a7937;
+ var a7938;
+ var a7939;
+ var a7940;
+ var a7941;
+ var a7942;
+ var a7943;
+ var a7944;
+ var a7945;
+ var a7946;
+ var a7947;
+ var a7948;
+ var a7949;
+ var a7950;
+ var a7951;
+ var a7952;
+ var a7953;
+ var a7954;
+ var a7955;
+ var a7956;
+ var a7957;
+ var a7958;
+ var a7959;
+ var a7960;
+ var a7961;
+ var a7962;
+ var a7963;
+ var a7964;
+ var a7965;
+ var a7966;
+ var a7967;
+ var a7968;
+ var a7969;
+ var a7970;
+ var a7971;
+ var a7972;
+ var a7973;
+ var a7974;
+ var a7975;
+ var a7976;
+ var a7977;
+ var a7978;
+ var a7979;
+ var a7980;
+ var a7981;
+ var a7982;
+ var a7983;
+ var a7984;
+ var a7985;
+ var a7986;
+ var a7987;
+ var a7988;
+ var a7989;
+ var a7990;
+ var a7991;
+ var a7992;
+ var a7993;
+ var a7994;
+ var a7995;
+ var a7996;
+ var a7997;
+ var a7998;
+ var a7999;
+ var a8000;
+ var a8001;
+ var a8002;
+ var a8003;
+ var a8004;
+ var a8005;
+ var a8006;
+ var a8007;
+ var a8008;
+ var a8009;
+ var a8010;
+ var a8011;
+ var a8012;
+ var a8013;
+ var a8014;
+ var a8015;
+ var a8016;
+ var a8017;
+ var a8018;
+ var a8019;
+ var a8020;
+ var a8021;
+ var a8022;
+ var a8023;
+ var a8024;
+ var a8025;
+ var a8026;
+ var a8027;
+ var a8028;
+ var a8029;
+ var a8030;
+ var a8031;
+ var a8032;
+ var a8033;
+ var a8034;
+ var a8035;
+ var a8036;
+ var a8037;
+ var a8038;
+ var a8039;
+ var a8040;
+ var a8041;
+ var a8042;
+ var a8043;
+ var a8044;
+ var a8045;
+ var a8046;
+ var a8047;
+ var a8048;
+ var a8049;
+ var a8050;
+ var a8051;
+ var a8052;
+ var a8053;
+ var a8054;
+ var a8055;
+ var a8056;
+ var a8057;
+ var a8058;
+ var a8059;
+ var a8060;
+ var a8061;
+ var a8062;
+ var a8063;
+ var a8064;
+ var a8065;
+ var a8066;
+ var a8067;
+ var a8068;
+ var a8069;
+ var a8070;
+ var a8071;
+ var a8072;
+ var a8073;
+ var a8074;
+ var a8075;
+ var a8076;
+ var a8077;
+ var a8078;
+ var a8079;
+ var a8080;
+ var a8081;
+ var a8082;
+ var a8083;
+ var a8084;
+ var a8085;
+ var a8086;
+ var a8087;
+ var a8088;
+ var a8089;
+ var a8090;
+ var a8091;
+ var a8092;
+ var a8093;
+ var a8094;
+ var a8095;
+ var a8096;
+ var a8097;
+ var a8098;
+ var a8099;
+ var a8100;
+ var a8101;
+ var a8102;
+ var a8103;
+ var a8104;
+ var a8105;
+ var a8106;
+ var a8107;
+ var a8108;
+ var a8109;
+ var a8110;
+ var a8111;
+ var a8112;
+ var a8113;
+ var a8114;
+ var a8115;
+ var a8116;
+ var a8117;
+ var a8118;
+ var a8119;
+ var a8120;
+ var a8121;
+ var a8122;
+ var a8123;
+ var a8124;
+ var a8125;
+ var a8126;
+ var a8127;
+ var a8128;
+ var a8129;
+ var a8130;
+ var a8131;
+ var a8132;
+ var a8133;
+ var a8134;
+ var a8135;
+ var a8136;
+ var a8137;
+ var a8138;
+ var a8139;
+ var a8140;
+ var a8141;
+ var a8142;
+ var a8143;
+ var a8144;
+ var a8145;
+ var a8146;
+ var a8147;
+ var a8148;
+ var a8149;
+ var a8150;
+ var a8151;
+ var a8152;
+ var a8153;
+ var a8154;
+ var a8155;
+ var a8156;
+ var a8157;
+ var a8158;
+ var a8159;
+ var a8160;
+ var a8161;
+ var a8162;
+ var a8163;
+ var a8164;
+ var a8165;
+ var a8166;
+ var a8167;
+ var a8168;
+ var a8169;
+ var a8170;
+ var a8171;
+ var a8172;
+ var a8173;
+ var a8174;
+ var a8175;
+ var a8176;
+ var a8177;
+ var a8178;
+ var a8179;
+ var a8180;
+ var a8181;
+ var a8182;
+ var a8183;
+ var a8184;
+ var a8185;
+ var a8186;
+ var a8187;
+ var a8188;
+ var a8189;
+ var a8190;
+ var a8191;
+ var a8192;
+ var a8193;
+ var a8194;
+ var a8195;
+ var a8196;
+ var a8197;
+ var a8198;
+ var a8199;
+ var a8200;
+ var a8201;
+ var a8202;
+ var a8203;
+ var a8204;
+ var a8205;
+ var a8206;
+ var a8207;
+ var a8208;
+ var a8209;
+ var a8210;
+ var a8211;
+ var a8212;
+ var a8213;
+ var a8214;
+ var a8215;
+ var a8216;
+ var a8217;
+ var a8218;
+ var a8219;
+ var a8220;
+ var a8221;
+ var a8222;
+ var a8223;
+ var a8224;
+ var a8225;
+ var a8226;
+ var a8227;
+ var a8228;
+ var a8229;
+ var a8230;
+ var a8231;
+ var a8232;
+ var a8233;
+ var a8234;
+ var a8235;
+ var a8236;
+ var a8237;
+ var a8238;
+ var a8239;
+ var a8240;
+ var a8241;
+ var a8242;
+ var a8243;
+ var a8244;
+ var a8245;
+ var a8246;
+ var a8247;
+ var a8248;
+ var a8249;
+ var a8250;
+ var a8251;
+ var a8252;
+ var a8253;
+ var a8254;
+ var a8255;
+ var a8256;
+ var a8257;
+ var a8258;
+ var a8259;
+ var a8260;
+ var a8261;
+ var a8262;
+ var a8263;
+ var a8264;
+ var a8265;
+ var a8266;
+ var a8267;
+ var a8268;
+ var a8269;
+ var a8270;
+ var a8271;
+ var a8272;
+ var a8273;
+ var a8274;
+ var a8275;
+ var a8276;
+ var a8277;
+ var a8278;
+ var a8279;
+ var a8280;
+ var a8281;
+ var a8282;
+ var a8283;
+ var a8284;
+ var a8285;
+ var a8286;
+ var a8287;
+ var a8288;
+ var a8289;
+ var a8290;
+ var a8291;
+ var a8292;
+ var a8293;
+ var a8294;
+ var a8295;
+ var a8296;
+ var a8297;
+ var a8298;
+ var a8299;
+ var a8300;
+ var a8301;
+ var a8302;
+ var a8303;
+ var a8304;
+ var a8305;
+ var a8306;
+ var a8307;
+ var a8308;
+ var a8309;
+ var a8310;
+ var a8311;
+ var a8312;
+ var a8313;
+ var a8314;
+ var a8315;
+ var a8316;
+ var a8317;
+ var a8318;
+ var a8319;
+ var a8320;
+ var a8321;
+ var a8322;
+ var a8323;
+ var a8324;
+ var a8325;
+ var a8326;
+ var a8327;
+ var a8328;
+ var a8329;
+ var a8330;
+ var a8331;
+ var a8332;
+ var a8333;
+ var a8334;
+ var a8335;
+ var a8336;
+ var a8337;
+ var a8338;
+ var a8339;
+ var a8340;
+ var a8341;
+ var a8342;
+ var a8343;
+ var a8344;
+ var a8345;
+ var a8346;
+ var a8347;
+ var a8348;
+ var a8349;
+ var a8350;
+ var a8351;
+ var a8352;
+ var a8353;
+ var a8354;
+ var a8355;
+ var a8356;
+ var a8357;
+ var a8358;
+ var a8359;
+ var a8360;
+ var a8361;
+ var a8362;
+ var a8363;
+ var a8364;
+ var a8365;
+ var a8366;
+ var a8367;
+ var a8368;
+ var a8369;
+ var a8370;
+ var a8371;
+ var a8372;
+ var a8373;
+ var a8374;
+ var a8375;
+ var a8376;
+ var a8377;
+ var a8378;
+ var a8379;
+ var a8380;
+ var a8381;
+ var a8382;
+ var a8383;
+ var a8384;
+ var a8385;
+ var a8386;
+ var a8387;
+ var a8388;
+ var a8389;
+ var a8390;
+ var a8391;
+ var a8392;
+ var a8393;
+ var a8394;
+ var a8395;
+ var a8396;
+ var a8397;
+ var a8398;
+ var a8399;
+ var a8400;
+ var a8401;
+ var a8402;
+ var a8403;
+ var a8404;
+ var a8405;
+ var a8406;
+ var a8407;
+ var a8408;
+ var a8409;
+ var a8410;
+ var a8411;
+ var a8412;
+ var a8413;
+ var a8414;
+ var a8415;
+ var a8416;
+ var a8417;
+ var a8418;
+ var a8419;
+ var a8420;
+ var a8421;
+ var a8422;
+ var a8423;
+ var a8424;
+ var a8425;
+ var a8426;
+ var a8427;
+ var a8428;
+ var a8429;
+ var a8430;
+ var a8431;
+ var a8432;
+ var a8433;
+ var a8434;
+ var a8435;
+ var a8436;
+ var a8437;
+ var a8438;
+ var a8439;
+ var a8440;
+ var a8441;
+ var a8442;
+ var a8443;
+ var a8444;
+ var a8445;
+ var a8446;
+ var a8447;
+ var a8448;
+ var a8449;
+ var a8450;
+ var a8451;
+ var a8452;
+ var a8453;
+ var a8454;
+ var a8455;
+ var a8456;
+ var a8457;
+ var a8458;
+ var a8459;
+ var a8460;
+ var a8461;
+ var a8462;
+ var a8463;
+ var a8464;
+ var a8465;
+ var a8466;
+ var a8467;
+ var a8468;
+ var a8469;
+ var a8470;
+ var a8471;
+ var a8472;
+ var a8473;
+ var a8474;
+ var a8475;
+ var a8476;
+ var a8477;
+ var a8478;
+ var a8479;
+ var a8480;
+ var a8481;
+ var a8482;
+ var a8483;
+ var a8484;
+ var a8485;
+ var a8486;
+ var a8487;
+ var a8488;
+ var a8489;
+ var a8490;
+ var a8491;
+ var a8492;
+ var a8493;
+ var a8494;
+ var a8495;
+ var a8496;
+ var a8497;
+ var a8498;
+ var a8499;
+ var a8500;
+ var a8501;
+ var a8502;
+ var a8503;
+ var a8504;
+ var a8505;
+ var a8506;
+ var a8507;
+ var a8508;
+ var a8509;
+ var a8510;
+ var a8511;
+ var a8512;
+ var a8513;
+ var a8514;
+ var a8515;
+ var a8516;
+ var a8517;
+ var a8518;
+ var a8519;
+ var a8520;
+ var a8521;
+ var a8522;
+ var a8523;
+ var a8524;
+ var a8525;
+ var a8526;
+ var a8527;
+ var a8528;
+ var a8529;
+ var a8530;
+ var a8531;
+ var a8532;
+ var a8533;
+ var a8534;
+ var a8535;
+ var a8536;
+ var a8537;
+ var a8538;
+ var a8539;
+ var a8540;
+ var a8541;
+ var a8542;
+ var a8543;
+ var a8544;
+ var a8545;
+ var a8546;
+ var a8547;
+ var a8548;
+ var a8549;
+ var a8550;
+ var a8551;
+ var a8552;
+ var a8553;
+ var a8554;
+ var a8555;
+ var a8556;
+ var a8557;
+ var a8558;
+ var a8559;
+ var a8560;
+ var a8561;
+ var a8562;
+ var a8563;
+ var a8564;
+ var a8565;
+ var a8566;
+ var a8567;
+ var a8568;
+ var a8569;
+ var a8570;
+ var a8571;
+ var a8572;
+ var a8573;
+ var a8574;
+ var a8575;
+ var a8576;
+ var a8577;
+ var a8578;
+ var a8579;
+ var a8580;
+ var a8581;
+ var a8582;
+ var a8583;
+ var a8584;
+ var a8585;
+ var a8586;
+ var a8587;
+ var a8588;
+ var a8589;
+ var a8590;
+ var a8591;
+ var a8592;
+ var a8593;
+ var a8594;
+ var a8595;
+ var a8596;
+ var a8597;
+ var a8598;
+ var a8599;
+ var a8600;
+ var a8601;
+ var a8602;
+ var a8603;
+ var a8604;
+ var a8605;
+ var a8606;
+ var a8607;
+ var a8608;
+ var a8609;
+ var a8610;
+ var a8611;
+ var a8612;
+ var a8613;
+ var a8614;
+ var a8615;
+ var a8616;
+ var a8617;
+ var a8618;
+ var a8619;
+ var a8620;
+ var a8621;
+ var a8622;
+ var a8623;
+ var a8624;
+ var a8625;
+ var a8626;
+ var a8627;
+ var a8628;
+ var a8629;
+ var a8630;
+ var a8631;
+ var a8632;
+ var a8633;
+ var a8634;
+ var a8635;
+ var a8636;
+ var a8637;
+ var a8638;
+ var a8639;
+ var a8640;
+ var a8641;
+ var a8642;
+ var a8643;
+ var a8644;
+ var a8645;
+ var a8646;
+ var a8647;
+ var a8648;
+ var a8649;
+ var a8650;
+ var a8651;
+ var a8652;
+ var a8653;
+ var a8654;
+ var a8655;
+ var a8656;
+ var a8657;
+ var a8658;
+ var a8659;
+ var a8660;
+ var a8661;
+ var a8662;
+ var a8663;
+ var a8664;
+ var a8665;
+ var a8666;
+ var a8667;
+ var a8668;
+ var a8669;
+ var a8670;
+ var a8671;
+ var a8672;
+ var a8673;
+ var a8674;
+ var a8675;
+ var a8676;
+ var a8677;
+ var a8678;
+ var a8679;
+ var a8680;
+ var a8681;
+ var a8682;
+ var a8683;
+ var a8684;
+ var a8685;
+ var a8686;
+ var a8687;
+ var a8688;
+ var a8689;
+ var a8690;
+ var a8691;
+ var a8692;
+ var a8693;
+ var a8694;
+ var a8695;
+ var a8696;
+ var a8697;
+ var a8698;
+ var a8699;
+ var a8700;
+ var a8701;
+ var a8702;
+ var a8703;
+ var a8704;
+ var a8705;
+ var a8706;
+ var a8707;
+ var a8708;
+ var a8709;
+ var a8710;
+ var a8711;
+ var a8712;
+ var a8713;
+ var a8714;
+ var a8715;
+ var a8716;
+ var a8717;
+ var a8718;
+ var a8719;
+ var a8720;
+ var a8721;
+ var a8722;
+ var a8723;
+ var a8724;
+ var a8725;
+ var a8726;
+ var a8727;
+ var a8728;
+ var a8729;
+ var a8730;
+ var a8731;
+ var a8732;
+ var a8733;
+ var a8734;
+ var a8735;
+ var a8736;
+ var a8737;
+ var a8738;
+ var a8739;
+ var a8740;
+ var a8741;
+ var a8742;
+ var a8743;
+ var a8744;
+ var a8745;
+ var a8746;
+ var a8747;
+ var a8748;
+ var a8749;
+ var a8750;
+ var a8751;
+ var a8752;
+ var a8753;
+ var a8754;
+ var a8755;
+ var a8756;
+ var a8757;
+ var a8758;
+ var a8759;
+ var a8760;
+ var a8761;
+ var a8762;
+ var a8763;
+ var a8764;
+ var a8765;
+ var a8766;
+ var a8767;
+ var a8768;
+ var a8769;
+ var a8770;
+ var a8771;
+ var a8772;
+ var a8773;
+ var a8774;
+ var a8775;
+ var a8776;
+ var a8777;
+ var a8778;
+ var a8779;
+ var a8780;
+ var a8781;
+ var a8782;
+ var a8783;
+ var a8784;
+ var a8785;
+ var a8786;
+ var a8787;
+ var a8788;
+ var a8789;
+ var a8790;
+ var a8791;
+ var a8792;
+ var a8793;
+ var a8794;
+ var a8795;
+ var a8796;
+ var a8797;
+ var a8798;
+ var a8799;
+ var a8800;
+ var a8801;
+ var a8802;
+ var a8803;
+ var a8804;
+ var a8805;
+ var a8806;
+ var a8807;
+ var a8808;
+ var a8809;
+ var a8810;
+ var a8811;
+ var a8812;
+ var a8813;
+ var a8814;
+ var a8815;
+ var a8816;
+ var a8817;
+ var a8818;
+ var a8819;
+ var a8820;
+ var a8821;
+ var a8822;
+ var a8823;
+ var a8824;
+ var a8825;
+ var a8826;
+ var a8827;
+ var a8828;
+ var a8829;
+ var a8830;
+ var a8831;
+ var a8832;
+ var a8833;
+ var a8834;
+ var a8835;
+ var a8836;
+ var a8837;
+ var a8838;
+ var a8839;
+ var a8840;
+ var a8841;
+ var a8842;
+ var a8843;
+ var a8844;
+ var a8845;
+ var a8846;
+ var a8847;
+ var a8848;
+ var a8849;
+ var a8850;
+ var a8851;
+ var a8852;
+ var a8853;
+ var a8854;
+ var a8855;
+ var a8856;
+ var a8857;
+ var a8858;
+ var a8859;
+ var a8860;
+ var a8861;
+ var a8862;
+ var a8863;
+ var a8864;
+ var a8865;
+ var a8866;
+ var a8867;
+ var a8868;
+ var a8869;
+ var a8870;
+ var a8871;
+ var a8872;
+ var a8873;
+ var a8874;
+ var a8875;
+ var a8876;
+ var a8877;
+ var a8878;
+ var a8879;
+ var a8880;
+ var a8881;
+ var a8882;
+ var a8883;
+ var a8884;
+ var a8885;
+ var a8886;
+ var a8887;
+ var a8888;
+ var a8889;
+ var a8890;
+ var a8891;
+ var a8892;
+ var a8893;
+ var a8894;
+ var a8895;
+ var a8896;
+ var a8897;
+ var a8898;
+ var a8899;
+ var a8900;
+ var a8901;
+ var a8902;
+ var a8903;
+ var a8904;
+ var a8905;
+ var a8906;
+ var a8907;
+ var a8908;
+ var a8909;
+ var a8910;
+ var a8911;
+ var a8912;
+ var a8913;
+ var a8914;
+ var a8915;
+ var a8916;
+ var a8917;
+ var a8918;
+ var a8919;
+ var a8920;
+ var a8921;
+ var a8922;
+ var a8923;
+ var a8924;
+ var a8925;
+ var a8926;
+ var a8927;
+ var a8928;
+ var a8929;
+ var a8930;
+ var a8931;
+ var a8932;
+ var a8933;
+ var a8934;
+ var a8935;
+ var a8936;
+ var a8937;
+ var a8938;
+ var a8939;
+ var a8940;
+ var a8941;
+ var a8942;
+ var a8943;
+ var a8944;
+ var a8945;
+ var a8946;
+ var a8947;
+ var a8948;
+ var a8949;
+ var a8950;
+ var a8951;
+ var a8952;
+ var a8953;
+ var a8954;
+ var a8955;
+ var a8956;
+ var a8957;
+ var a8958;
+ var a8959;
+ var a8960;
+ var a8961;
+ var a8962;
+ var a8963;
+ var a8964;
+ var a8965;
+ var a8966;
+ var a8967;
+ var a8968;
+ var a8969;
+ var a8970;
+ var a8971;
+ var a8972;
+ var a8973;
+ var a8974;
+ var a8975;
+ var a8976;
+ var a8977;
+ var a8978;
+ var a8979;
+ var a8980;
+ var a8981;
+ var a8982;
+ var a8983;
+ var a8984;
+ var a8985;
+ var a8986;
+ var a8987;
+ var a8988;
+ var a8989;
+ var a8990;
+ var a8991;
+ var a8992;
+ var a8993;
+ var a8994;
+ var a8995;
+ var a8996;
+ var a8997;
+ var a8998;
+ var a8999;
+ var a9000;
+ var a9001;
+ var a9002;
+ var a9003;
+ var a9004;
+ var a9005;
+ var a9006;
+ var a9007;
+ var a9008;
+ var a9009;
+ var a9010;
+ var a9011;
+ var a9012;
+ var a9013;
+ var a9014;
+ var a9015;
+ var a9016;
+ var a9017;
+ var a9018;
+ var a9019;
+ var a9020;
+ var a9021;
+ var a9022;
+ var a9023;
+ var a9024;
+ var a9025;
+ var a9026;
+ var a9027;
+ var a9028;
+ var a9029;
+ var a9030;
+ var a9031;
+ var a9032;
+ var a9033;
+ var a9034;
+ var a9035;
+ var a9036;
+ var a9037;
+ var a9038;
+ var a9039;
+ var a9040;
+ var a9041;
+ var a9042;
+ var a9043;
+ var a9044;
+ var a9045;
+ var a9046;
+ var a9047;
+ var a9048;
+ var a9049;
+ var a9050;
+ var a9051;
+ var a9052;
+ var a9053;
+ var a9054;
+ var a9055;
+ var a9056;
+ var a9057;
+ var a9058;
+ var a9059;
+ var a9060;
+ var a9061;
+ var a9062;
+ var a9063;
+ var a9064;
+ var a9065;
+ var a9066;
+ var a9067;
+ var a9068;
+ var a9069;
+ var a9070;
+ var a9071;
+ var a9072;
+ var a9073;
+ var a9074;
+ var a9075;
+ var a9076;
+ var a9077;
+ var a9078;
+ var a9079;
+ var a9080;
+ var a9081;
+ var a9082;
+ var a9083;
+ var a9084;
+ var a9085;
+ var a9086;
+ var a9087;
+ var a9088;
+ var a9089;
+ var a9090;
+ var a9091;
+ var a9092;
+ var a9093;
+ var a9094;
+ var a9095;
+ var a9096;
+ var a9097;
+ var a9098;
+ var a9099;
+ var a9100;
+ var a9101;
+ var a9102;
+ var a9103;
+ var a9104;
+ var a9105;
+ var a9106;
+ var a9107;
+ var a9108;
+ var a9109;
+ var a9110;
+ var a9111;
+ var a9112;
+ var a9113;
+ var a9114;
+ var a9115;
+ var a9116;
+ var a9117;
+ var a9118;
+ var a9119;
+ var a9120;
+ var a9121;
+ var a9122;
+ var a9123;
+ var a9124;
+ var a9125;
+ var a9126;
+ var a9127;
+ var a9128;
+ var a9129;
+ var a9130;
+ var a9131;
+ var a9132;
+ var a9133;
+ var a9134;
+ var a9135;
+ var a9136;
+ var a9137;
+ var a9138;
+ var a9139;
+ var a9140;
+ var a9141;
+ var a9142;
+ var a9143;
+ var a9144;
+ var a9145;
+ var a9146;
+ var a9147;
+ var a9148;
+ var a9149;
+ var a9150;
+ var a9151;
+ var a9152;
+ var a9153;
+ var a9154;
+ var a9155;
+ var a9156;
+ var a9157;
+ var a9158;
+ var a9159;
+ var a9160;
+ var a9161;
+ var a9162;
+ var a9163;
+ var a9164;
+ var a9165;
+ var a9166;
+ var a9167;
+ var a9168;
+ var a9169;
+ var a9170;
+ var a9171;
+ var a9172;
+ var a9173;
+ var a9174;
+ var a9175;
+ var a9176;
+ var a9177;
+ var a9178;
+ var a9179;
+ var a9180;
+ var a9181;
+ var a9182;
+ var a9183;
+ var a9184;
+ var a9185;
+ var a9186;
+ var a9187;
+ var a9188;
+ var a9189;
+ var a9190;
+ var a9191;
+ var a9192;
+ var a9193;
+ var a9194;
+ var a9195;
+ var a9196;
+ var a9197;
+ var a9198;
+ var a9199;
+ var a9200;
+ var a9201;
+ var a9202;
+ var a9203;
+ var a9204;
+ var a9205;
+ var a9206;
+ var a9207;
+ var a9208;
+ var a9209;
+ var a9210;
+ var a9211;
+ var a9212;
+ var a9213;
+ var a9214;
+ var a9215;
+ var a9216;
+ var a9217;
+ var a9218;
+ var a9219;
+ var a9220;
+ var a9221;
+ var a9222;
+ var a9223;
+ var a9224;
+ var a9225;
+ var a9226;
+ var a9227;
+ var a9228;
+ var a9229;
+ var a9230;
+ var a9231;
+ var a9232;
+ var a9233;
+ var a9234;
+ var a9235;
+ var a9236;
+ var a9237;
+ var a9238;
+ var a9239;
+ var a9240;
+ var a9241;
+ var a9242;
+ var a9243;
+ var a9244;
+ var a9245;
+ var a9246;
+ var a9247;
+ var a9248;
+ var a9249;
+ var a9250;
+ var a9251;
+ var a9252;
+ var a9253;
+ var a9254;
+ var a9255;
+ var a9256;
+ var a9257;
+ var a9258;
+ var a9259;
+ var a9260;
+ var a9261;
+ var a9262;
+ var a9263;
+ var a9264;
+ var a9265;
+ var a9266;
+ var a9267;
+ var a9268;
+ var a9269;
+ var a9270;
+ var a9271;
+ var a9272;
+ var a9273;
+ var a9274;
+ var a9275;
+ var a9276;
+ var a9277;
+ var a9278;
+ var a9279;
+ var a9280;
+ var a9281;
+ var a9282;
+ var a9283;
+ var a9284;
+ var a9285;
+ var a9286;
+ var a9287;
+ var a9288;
+ var a9289;
+ var a9290;
+ var a9291;
+ var a9292;
+ var a9293;
+ var a9294;
+ var a9295;
+ var a9296;
+ var a9297;
+ var a9298;
+ var a9299;
+ var a9300;
+ var a9301;
+ var a9302;
+ var a9303;
+ var a9304;
+ var a9305;
+ var a9306;
+ var a9307;
+ var a9308;
+ var a9309;
+ var a9310;
+ var a9311;
+ var a9312;
+ var a9313;
+ var a9314;
+ var a9315;
+ var a9316;
+ var a9317;
+ var a9318;
+ var a9319;
+ var a9320;
+ var a9321;
+ var a9322;
+ var a9323;
+ var a9324;
+ var a9325;
+ var a9326;
+ var a9327;
+ var a9328;
+ var a9329;
+ var a9330;
+ var a9331;
+ var a9332;
+ var a9333;
+ var a9334;
+ var a9335;
+ var a9336;
+ var a9337;
+ var a9338;
+ var a9339;
+ var a9340;
+ var a9341;
+ var a9342;
+ var a9343;
+ var a9344;
+ var a9345;
+ var a9346;
+ var a9347;
+ var a9348;
+ var a9349;
+ var a9350;
+ var a9351;
+ var a9352;
+ var a9353;
+ var a9354;
+ var a9355;
+ var a9356;
+ var a9357;
+ var a9358;
+ var a9359;
+ var a9360;
+ var a9361;
+ var a9362;
+ var a9363;
+ var a9364;
+ var a9365;
+ var a9366;
+ var a9367;
+ var a9368;
+ var a9369;
+ var a9370;
+ var a9371;
+ var a9372;
+ var a9373;
+ var a9374;
+ var a9375;
+ var a9376;
+ var a9377;
+ var a9378;
+ var a9379;
+ var a9380;
+ var a9381;
+ var a9382;
+ var a9383;
+ var a9384;
+ var a9385;
+ var a9386;
+ var a9387;
+ var a9388;
+ var a9389;
+ var a9390;
+ var a9391;
+ var a9392;
+ var a9393;
+ var a9394;
+ var a9395;
+ var a9396;
+ var a9397;
+ var a9398;
+ var a9399;
+ var a9400;
+ var a9401;
+ var a9402;
+ var a9403;
+ var a9404;
+ var a9405;
+ var a9406;
+ var a9407;
+ var a9408;
+ var a9409;
+ var a9410;
+ var a9411;
+ var a9412;
+ var a9413;
+ var a9414;
+ var a9415;
+ var a9416;
+ var a9417;
+ var a9418;
+ var a9419;
+ var a9420;
+ var a9421;
+ var a9422;
+ var a9423;
+ var a9424;
+ var a9425;
+ var a9426;
+ var a9427;
+ var a9428;
+ var a9429;
+ var a9430;
+ var a9431;
+ var a9432;
+ var a9433;
+ var a9434;
+ var a9435;
+ var a9436;
+ var a9437;
+ var a9438;
+ var a9439;
+ var a9440;
+ var a9441;
+ var a9442;
+ var a9443;
+ var a9444;
+ var a9445;
+ var a9446;
+ var a9447;
+ var a9448;
+ var a9449;
+ var a9450;
+ var a9451;
+ var a9452;
+ var a9453;
+ var a9454;
+ var a9455;
+ var a9456;
+ var a9457;
+ var a9458;
+ var a9459;
+ var a9460;
+ var a9461;
+ var a9462;
+ var a9463;
+ var a9464;
+ var a9465;
+ var a9466;
+ var a9467;
+ var a9468;
+ var a9469;
+ var a9470;
+ var a9471;
+ var a9472;
+ var a9473;
+ var a9474;
+ var a9475;
+ var a9476;
+ var a9477;
+ var a9478;
+ var a9479;
+ var a9480;
+ var a9481;
+ var a9482;
+ var a9483;
+ var a9484;
+ var a9485;
+ var a9486;
+ var a9487;
+ var a9488;
+ var a9489;
+ var a9490;
+ var a9491;
+ var a9492;
+ var a9493;
+ var a9494;
+ var a9495;
+ var a9496;
+ var a9497;
+ var a9498;
+ var a9499;
+ var a9500;
+ var a9501;
+ var a9502;
+ var a9503;
+ var a9504;
+ var a9505;
+ var a9506;
+ var a9507;
+ var a9508;
+ var a9509;
+ var a9510;
+ var a9511;
+ var a9512;
+ var a9513;
+ var a9514;
+ var a9515;
+ var a9516;
+ var a9517;
+ var a9518;
+ var a9519;
+ var a9520;
+ var a9521;
+ var a9522;
+ var a9523;
+ var a9524;
+ var a9525;
+ var a9526;
+ var a9527;
+ var a9528;
+ var a9529;
+ var a9530;
+ var a9531;
+ var a9532;
+ var a9533;
+ var a9534;
+ var a9535;
+ var a9536;
+ var a9537;
+ var a9538;
+ var a9539;
+ var a9540;
+ var a9541;
+ var a9542;
+ var a9543;
+ var a9544;
+ var a9545;
+ var a9546;
+ var a9547;
+ var a9548;
+ var a9549;
+ var a9550;
+ var a9551;
+ var a9552;
+ var a9553;
+ var a9554;
+ var a9555;
+ var a9556;
+ var a9557;
+ var a9558;
+ var a9559;
+ var a9560;
+ var a9561;
+ var a9562;
+ var a9563;
+ var a9564;
+ var a9565;
+ var a9566;
+ var a9567;
+ var a9568;
+ var a9569;
+ var a9570;
+ var a9571;
+ var a9572;
+ var a9573;
+ var a9574;
+ var a9575;
+ var a9576;
+ var a9577;
+ var a9578;
+ var a9579;
+ var a9580;
+ var a9581;
+ var a9582;
+ var a9583;
+ var a9584;
+ var a9585;
+ var a9586;
+ var a9587;
+ var a9588;
+ var a9589;
+ var a9590;
+ var a9591;
+ var a9592;
+ var a9593;
+ var a9594;
+ var a9595;
+ var a9596;
+ var a9597;
+ var a9598;
+ var a9599;
+ var a9600;
+ var a9601;
+ var a9602;
+ var a9603;
+ var a9604;
+ var a9605;
+ var a9606;
+ var a9607;
+ var a9608;
+ var a9609;
+ var a9610;
+ var a9611;
+ var a9612;
+ var a9613;
+ var a9614;
+ var a9615;
+ var a9616;
+ var a9617;
+ var a9618;
+ var a9619;
+ var a9620;
+ var a9621;
+ var a9622;
+ var a9623;
+ var a9624;
+ var a9625;
+ var a9626;
+ var a9627;
+ var a9628;
+ var a9629;
+ var a9630;
+ var a9631;
+ var a9632;
+ var a9633;
+ var a9634;
+ var a9635;
+ var a9636;
+ var a9637;
+ var a9638;
+ var a9639;
+ var a9640;
+ var a9641;
+ var a9642;
+ var a9643;
+ var a9644;
+ var a9645;
+ var a9646;
+ var a9647;
+ var a9648;
+ var a9649;
+ var a9650;
+ var a9651;
+ var a9652;
+ var a9653;
+ var a9654;
+ var a9655;
+ var a9656;
+ var a9657;
+ var a9658;
+ var a9659;
+ var a9660;
+ var a9661;
+ var a9662;
+ var a9663;
+ var a9664;
+ var a9665;
+ var a9666;
+ var a9667;
+ var a9668;
+ var a9669;
+ var a9670;
+ var a9671;
+ var a9672;
+ var a9673;
+ var a9674;
+ var a9675;
+ var a9676;
+ var a9677;
+ var a9678;
+ var a9679;
+ var a9680;
+ var a9681;
+ var a9682;
+ var a9683;
+ var a9684;
+ var a9685;
+ var a9686;
+ var a9687;
+ var a9688;
+ var a9689;
+ var a9690;
+ var a9691;
+ var a9692;
+ var a9693;
+ var a9694;
+ var a9695;
+ var a9696;
+ var a9697;
+ var a9698;
+ var a9699;
+ var a9700;
+ var a9701;
+ var a9702;
+ var a9703;
+ var a9704;
+ var a9705;
+ var a9706;
+ var a9707;
+ var a9708;
+ var a9709;
+ var a9710;
+ var a9711;
+ var a9712;
+ var a9713;
+ var a9714;
+ var a9715;
+ var a9716;
+ var a9717;
+ var a9718;
+ var a9719;
+ var a9720;
+ var a9721;
+ var a9722;
+ var a9723;
+ var a9724;
+ var a9725;
+ var a9726;
+ var a9727;
+ var a9728;
+ var a9729;
+ var a9730;
+ var a9731;
+ var a9732;
+ var a9733;
+ var a9734;
+ var a9735;
+ var a9736;
+ var a9737;
+ var a9738;
+ var a9739;
+ var a9740;
+ var a9741;
+ var a9742;
+ var a9743;
+ var a9744;
+ var a9745;
+ var a9746;
+ var a9747;
+ var a9748;
+ var a9749;
+ var a9750;
+ var a9751;
+ var a9752;
+ var a9753;
+ var a9754;
+ var a9755;
+ var a9756;
+ var a9757;
+ var a9758;
+ var a9759;
+ var a9760;
+ var a9761;
+ var a9762;
+ var a9763;
+ var a9764;
+ var a9765;
+ var a9766;
+ var a9767;
+ var a9768;
+ var a9769;
+ var a9770;
+ var a9771;
+ var a9772;
+ var a9773;
+ var a9774;
+ var a9775;
+ var a9776;
+ var a9777;
+ var a9778;
+ var a9779;
+ var a9780;
+ var a9781;
+ var a9782;
+ var a9783;
+ var a9784;
+ var a9785;
+ var a9786;
+ var a9787;
+ var a9788;
+ var a9789;
+ var a9790;
+ var a9791;
+ var a9792;
+ var a9793;
+ var a9794;
+ var a9795;
+ var a9796;
+ var a9797;
+ var a9798;
+ var a9799;
+ var a9800;
+ var a9801;
+ var a9802;
+ var a9803;
+ var a9804;
+ var a9805;
+ var a9806;
+ var a9807;
+ var a9808;
+ var a9809;
+ var a9810;
+ var a9811;
+ var a9812;
+ var a9813;
+ var a9814;
+ var a9815;
+ var a9816;
+ var a9817;
+ var a9818;
+ var a9819;
+ var a9820;
+ var a9821;
+ var a9822;
+ var a9823;
+ var a9824;
+ var a9825;
+ var a9826;
+ var a9827;
+ var a9828;
+ var a9829;
+ var a9830;
+ var a9831;
+ var a9832;
+ var a9833;
+ var a9834;
+ var a9835;
+ var a9836;
+ var a9837;
+ var a9838;
+ var a9839;
+ var a9840;
+ var a9841;
+ var a9842;
+ var a9843;
+ var a9844;
+ var a9845;
+ var a9846;
+ var a9847;
+ var a9848;
+ var a9849;
+ var a9850;
+ var a9851;
+ var a9852;
+ var a9853;
+ var a9854;
+ var a9855;
+ var a9856;
+ var a9857;
+ var a9858;
+ var a9859;
+ var a9860;
+ var a9861;
+ var a9862;
+ var a9863;
+ var a9864;
+ var a9865;
+ var a9866;
+ var a9867;
+ var a9868;
+ var a9869;
+ var a9870;
+ var a9871;
+ var a9872;
+ var a9873;
+ var a9874;
+ var a9875;
+ var a9876;
+ var a9877;
+ var a9878;
+ var a9879;
+ var a9880;
+ var a9881;
+ var a9882;
+ var a9883;
+ var a9884;
+ var a9885;
+ var a9886;
+ var a9887;
+ var a9888;
+ var a9889;
+ var a9890;
+ var a9891;
+ var a9892;
+ var a9893;
+ var a9894;
+ var a9895;
+ var a9896;
+ var a9897;
+ var a9898;
+ var a9899;
+ var a9900;
+ var a9901;
+ var a9902;
+ var a9903;
+ var a9904;
+ var a9905;
+ var a9906;
+ var a9907;
+ var a9908;
+ var a9909;
+ var a9910;
+ var a9911;
+ var a9912;
+ var a9913;
+ var a9914;
+ var a9915;
+ var a9916;
+ var a9917;
+ var a9918;
+ var a9919;
+ var a9920;
+ var a9921;
+ var a9922;
+ var a9923;
+ var a9924;
+ var a9925;
+ var a9926;
+ var a9927;
+ var a9928;
+ var a9929;
+ var a9930;
+ var a9931;
+ var a9932;
+ var a9933;
+ var a9934;
+ var a9935;
+ var a9936;
+ var a9937;
+ var a9938;
+ var a9939;
+ var a9940;
+ var a9941;
+ var a9942;
+ var a9943;
+ var a9944;
+ var a9945;
+ var a9946;
+ var a9947;
+ var a9948;
+ var a9949;
+ var a9950;
+ var a9951;
+ var a9952;
+ var a9953;
+ var a9954;
+ var a9955;
+ var a9956;
+ var a9957;
+ var a9958;
+ var a9959;
+ var a9960;
+ var a9961;
+ var a9962;
+ var a9963;
+ var a9964;
+ var a9965;
+ var a9966;
+ var a9967;
+ var a9968;
+ var a9969;
+ var a9970;
+ var a9971;
+ var a9972;
+ var a9973;
+ var a9974;
+ var a9975;
+ var a9976;
+ var a9977;
+ var a9978;
+ var a9979;
+ var a9980;
+ var a9981;
+ var a9982;
+ var a9983;
+ var a9984;
+ var a9985;
+ var a9986;
+ var a9987;
+ var a9988;
+ var a9989;
+ var a9990;
+ var a9991;
+ var a9992;
+ var a9993;
+ var a9994;
+ var a9995;
+ var a9996;
+ var a9997;
+ var a9998;
+ var a9999;
+ var a10000;
+ var a10001;
+ var a10002;
+ var a10003;
+ var a10004;
+ var a10005;
+ var a10006;
+ var a10007;
+ var a10008;
+ var a10009;
+ var a10010;
+ var a10011;
+ var a10012;
+ var a10013;
+ var a10014;
+ var a10015;
+ var a10016;
+ var a10017;
+ var a10018;
+ var a10019;
+ var a10020;
+ var a10021;
+ var a10022;
+ var a10023;
+ var a10024;
+ var a10025;
+ var a10026;
+ var a10027;
+ var a10028;
+ var a10029;
+ var a10030;
+ var a10031;
+ var a10032;
+ var a10033;
+ var a10034;
+ var a10035;
+ var a10036;
+ var a10037;
+ var a10038;
+ var a10039;
+ var a10040;
+ var a10041;
+ var a10042;
+ var a10043;
+ var a10044;
+ var a10045;
+ var a10046;
+ var a10047;
+ var a10048;
+ var a10049;
+ var a10050;
+ var a10051;
+ var a10052;
+ var a10053;
+ var a10054;
+ var a10055;
+ var a10056;
+ var a10057;
+ var a10058;
+ var a10059;
+ var a10060;
+ var a10061;
+ var a10062;
+ var a10063;
+ var a10064;
+ var a10065;
+ var a10066;
+ var a10067;
+ var a10068;
+ var a10069;
+ var a10070;
+ var a10071;
+ var a10072;
+ var a10073;
+ var a10074;
+ var a10075;
+ var a10076;
+ var a10077;
+ var a10078;
+ var a10079;
+ var a10080;
+ var a10081;
+ var a10082;
+ var a10083;
+ var a10084;
+ var a10085;
+ var a10086;
+ var a10087;
+ var a10088;
+ var a10089;
+ var a10090;
+ var a10091;
+ var a10092;
+ var a10093;
+ var a10094;
+ var a10095;
+ var a10096;
+ var a10097;
+ var a10098;
+ var a10099;
+ var a10100;
+ var a10101;
+ var a10102;
+ var a10103;
+ var a10104;
+ var a10105;
+ var a10106;
+ var a10107;
+ var a10108;
+ var a10109;
+ var a10110;
+ var a10111;
+ var a10112;
+ var a10113;
+ var a10114;
+ var a10115;
+ var a10116;
+ var a10117;
+ var a10118;
+ var a10119;
+ var a10120;
+ var a10121;
+ var a10122;
+ var a10123;
+ var a10124;
+ var a10125;
+ var a10126;
+ var a10127;
+ var a10128;
+ var a10129;
+ var a10130;
+ var a10131;
+ var a10132;
+ var a10133;
+ var a10134;
+ var a10135;
+ var a10136;
+ var a10137;
+ var a10138;
+ var a10139;
+ var a10140;
+ var a10141;
+ var a10142;
+ var a10143;
+ var a10144;
+ var a10145;
+ var a10146;
+ var a10147;
+ var a10148;
+ var a10149;
+ var a10150;
+ var a10151;
+ var a10152;
+ var a10153;
+ var a10154;
+ var a10155;
+ var a10156;
+ var a10157;
+ var a10158;
+ var a10159;
+ var a10160;
+ var a10161;
+ var a10162;
+ var a10163;
+ var a10164;
+ var a10165;
+ var a10166;
+ var a10167;
+ var a10168;
+ var a10169;
+ var a10170;
+ var a10171;
+ var a10172;
+ var a10173;
+ var a10174;
+ var a10175;
+ var a10176;
+ var a10177;
+ var a10178;
+ var a10179;
+ var a10180;
+ var a10181;
+ var a10182;
+ var a10183;
+ var a10184;
+ var a10185;
+ var a10186;
+ var a10187;
+ var a10188;
+ var a10189;
+ var a10190;
+ var a10191;
+ var a10192;
+ var a10193;
+ var a10194;
+ var a10195;
+ var a10196;
+ var a10197;
+ var a10198;
+ var a10199;
+ var a10200;
+ var a10201;
+ var a10202;
+ var a10203;
+ var a10204;
+ var a10205;
+ var a10206;
+ var a10207;
+ var a10208;
+ var a10209;
+ var a10210;
+ var a10211;
+ var a10212;
+ var a10213;
+ var a10214;
+ var a10215;
+ var a10216;
+ var a10217;
+ var a10218;
+ var a10219;
+ var a10220;
+ var a10221;
+ var a10222;
+ var a10223;
+ var a10224;
+ var a10225;
+ var a10226;
+ var a10227;
+ var a10228;
+ var a10229;
+ var a10230;
+ var a10231;
+ var a10232;
+ var a10233;
+ var a10234;
+ var a10235;
+ var a10236;
+ var a10237;
+ var a10238;
+ var a10239;
+ var a10240;
+ var a10241;
+ var a10242;
+ var a10243;
+ var a10244;
+ var a10245;
+ var a10246;
+ var a10247;
+ var a10248;
+ var a10249;
+ var a10250;
+ var a10251;
+ var a10252;
+ var a10253;
+ var a10254;
+ var a10255;
+ var a10256;
+ var a10257;
+ var a10258;
+ var a10259;
+ var a10260;
+ var a10261;
+ var a10262;
+ var a10263;
+ var a10264;
+ var a10265;
+ var a10266;
+ var a10267;
+ var a10268;
+ var a10269;
+ var a10270;
+ var a10271;
+ var a10272;
+ var a10273;
+ var a10274;
+ var a10275;
+ var a10276;
+ var a10277;
+ var a10278;
+ var a10279;
+ var a10280;
+ var a10281;
+ var a10282;
+ var a10283;
+ var a10284;
+ var a10285;
+ var a10286;
+ var a10287;
+ var a10288;
+ var a10289;
+ var a10290;
+ var a10291;
+ var a10292;
+ var a10293;
+ var a10294;
+ var a10295;
+ var a10296;
+ var a10297;
+ var a10298;
+ var a10299;
+ var a10300;
+ var a10301;
+ var a10302;
+ var a10303;
+ var a10304;
+ var a10305;
+ var a10306;
+ var a10307;
+ var a10308;
+ var a10309;
+ var a10310;
+ var a10311;
+ var a10312;
+ var a10313;
+ var a10314;
+ var a10315;
+ var a10316;
+ var a10317;
+ var a10318;
+ var a10319;
+ var a10320;
+ var a10321;
+ var a10322;
+ var a10323;
+ var a10324;
+ var a10325;
+ var a10326;
+ var a10327;
+ var a10328;
+ var a10329;
+ var a10330;
+ var a10331;
+ var a10332;
+ var a10333;
+ var a10334;
+ var a10335;
+ var a10336;
+ var a10337;
+ var a10338;
+ var a10339;
+ var a10340;
+ var a10341;
+ var a10342;
+ var a10343;
+ var a10344;
+ var a10345;
+ var a10346;
+ var a10347;
+ var a10348;
+ var a10349;
+ var a10350;
+ var a10351;
+ var a10352;
+ var a10353;
+ var a10354;
+ var a10355;
+ var a10356;
+ var a10357;
+ var a10358;
+ var a10359;
+ var a10360;
+ var a10361;
+ var a10362;
+ var a10363;
+ var a10364;
+ var a10365;
+ var a10366;
+ var a10367;
+ var a10368;
+ var a10369;
+ var a10370;
+ var a10371;
+ var a10372;
+ var a10373;
+ var a10374;
+ var a10375;
+ var a10376;
+ var a10377;
+ var a10378;
+ var a10379;
+ var a10380;
+ var a10381;
+ var a10382;
+ var a10383;
+ var a10384;
+ var a10385;
+ var a10386;
+ var a10387;
+ var a10388;
+ var a10389;
+ var a10390;
+ var a10391;
+ var a10392;
+ var a10393;
+ var a10394;
+ var a10395;
+ var a10396;
+ var a10397;
+ var a10398;
+ var a10399;
+ var a10400;
+ var a10401;
+ var a10402;
+ var a10403;
+ var a10404;
+ var a10405;
+ var a10406;
+ var a10407;
+ var a10408;
+ var a10409;
+ var a10410;
+ var a10411;
+ var a10412;
+ var a10413;
+ var a10414;
+ var a10415;
+ var a10416;
+ var a10417;
+ var a10418;
+ var a10419;
+ var a10420;
+ var a10421;
+ var a10422;
+ var a10423;
+ var a10424;
+ var a10425;
+ var a10426;
+ var a10427;
+ var a10428;
+ var a10429;
+ var a10430;
+ var a10431;
+ var a10432;
+ var a10433;
+ var a10434;
+ var a10435;
+ var a10436;
+ var a10437;
+ var a10438;
+ var a10439;
+ var a10440;
+ var a10441;
+ var a10442;
+ var a10443;
+ var a10444;
+ var a10445;
+ var a10446;
+ var a10447;
+ var a10448;
+ var a10449;
+ var a10450;
+ var a10451;
+ var a10452;
+ var a10453;
+ var a10454;
+ var a10455;
+ var a10456;
+ var a10457;
+ var a10458;
+ var a10459;
+ var a10460;
+ var a10461;
+ var a10462;
+ var a10463;
+ var a10464;
+ var a10465;
+ var a10466;
+ var a10467;
+ var a10468;
+ var a10469;
+ var a10470;
+ var a10471;
+ var a10472;
+ var a10473;
+ var a10474;
+ var a10475;
+ var a10476;
+ var a10477;
+ var a10478;
+ var a10479;
+ var a10480;
+ var a10481;
+ var a10482;
+ var a10483;
+ var a10484;
+ var a10485;
+ var a10486;
+ var a10487;
+ var a10488;
+ var a10489;
+ var a10490;
+ var a10491;
+ var a10492;
+ var a10493;
+ var a10494;
+ var a10495;
+ var a10496;
+ var a10497;
+ var a10498;
+ var a10499;
+ var a10500;
+ var a10501;
+ var a10502;
+ var a10503;
+ var a10504;
+ var a10505;
+ var a10506;
+ var a10507;
+ var a10508;
+ var a10509;
+ var a10510;
+ var a10511;
+ var a10512;
+ var a10513;
+ var a10514;
+ var a10515;
+ var a10516;
+ var a10517;
+ var a10518;
+ var a10519;
+ var a10520;
+ var a10521;
+ var a10522;
+ var a10523;
+ var a10524;
+ var a10525;
+ var a10526;
+ var a10527;
+ var a10528;
+ var a10529;
+ var a10530;
+ var a10531;
+ var a10532;
+ var a10533;
+ var a10534;
+ var a10535;
+ var a10536;
+ var a10537;
+ var a10538;
+ var a10539;
+ var a10540;
+ var a10541;
+ var a10542;
+ var a10543;
+ var a10544;
+ var a10545;
+ var a10546;
+ var a10547;
+ var a10548;
+ var a10549;
+ var a10550;
+ var a10551;
+ var a10552;
+ var a10553;
+ var a10554;
+ var a10555;
+ var a10556;
+ var a10557;
+ var a10558;
+ var a10559;
+ var a10560;
+ var a10561;
+ var a10562;
+ var a10563;
+ var a10564;
+ var a10565;
+ var a10566;
+ var a10567;
+ var a10568;
+ var a10569;
+ var a10570;
+ var a10571;
+ var a10572;
+ var a10573;
+ var a10574;
+ var a10575;
+ var a10576;
+ var a10577;
+ var a10578;
+ var a10579;
+ var a10580;
+ var a10581;
+ var a10582;
+ var a10583;
+ var a10584;
+ var a10585;
+ var a10586;
+ var a10587;
+ var a10588;
+ var a10589;
+ var a10590;
+ var a10591;
+ var a10592;
+ var a10593;
+ var a10594;
+ var a10595;
+ var a10596;
+ var a10597;
+ var a10598;
+ var a10599;
+ var a10600;
+ var a10601;
+ var a10602;
+ var a10603;
+ var a10604;
+ var a10605;
+ var a10606;
+ var a10607;
+ var a10608;
+ var a10609;
+ var a10610;
+ var a10611;
+ var a10612;
+ var a10613;
+ var a10614;
+ var a10615;
+ var a10616;
+ var a10617;
+ var a10618;
+ var a10619;
+ var a10620;
+ var a10621;
+ var a10622;
+ var a10623;
+ var a10624;
+ var a10625;
+ var a10626;
+ var a10627;
+ var a10628;
+ var a10629;
+ var a10630;
+ var a10631;
+ var a10632;
+ var a10633;
+ var a10634;
+ var a10635;
+ var a10636;
+ var a10637;
+ var a10638;
+ var a10639;
+ var a10640;
+ var a10641;
+ var a10642;
+ var a10643;
+ var a10644;
+ var a10645;
+ var a10646;
+ var a10647;
+ var a10648;
+ var a10649;
+ var a10650;
+ var a10651;
+ var a10652;
+ var a10653;
+ var a10654;
+ var a10655;
+ var a10656;
+ var a10657;
+ var a10658;
+ var a10659;
+ var a10660;
+ var a10661;
+ var a10662;
+ var a10663;
+ var a10664;
+ var a10665;
+ var a10666;
+ var a10667;
+ var a10668;
+ var a10669;
+ var a10670;
+ var a10671;
+ var a10672;
+ var a10673;
+ var a10674;
+ var a10675;
+ var a10676;
+ var a10677;
+ var a10678;
+ var a10679;
+ var a10680;
+ var a10681;
+ var a10682;
+ var a10683;
+ var a10684;
+ var a10685;
+ var a10686;
+ var a10687;
+ var a10688;
+ var a10689;
+ var a10690;
+ var a10691;
+ var a10692;
+ var a10693;
+ var a10694;
+ var a10695;
+ var a10696;
+ var a10697;
+ var a10698;
+ var a10699;
+ var a10700;
+ var a10701;
+ var a10702;
+ var a10703;
+ var a10704;
+ var a10705;
+ var a10706;
+ var a10707;
+ var a10708;
+ var a10709;
+ var a10710;
+ var a10711;
+ var a10712;
+ var a10713;
+ var a10714;
+ var a10715;
+ var a10716;
+ var a10717;
+ var a10718;
+ var a10719;
+ var a10720;
+ var a10721;
+ var a10722;
+ var a10723;
+ var a10724;
+ var a10725;
+ var a10726;
+ var a10727;
+ var a10728;
+ var a10729;
+ var a10730;
+ var a10731;
+ var a10732;
+ var a10733;
+ var a10734;
+ var a10735;
+ var a10736;
+ var a10737;
+ var a10738;
+ var a10739;
+ var a10740;
+ var a10741;
+ var a10742;
+ var a10743;
+ var a10744;
+ var a10745;
+ var a10746;
+ var a10747;
+ var a10748;
+ var a10749;
+ var a10750;
+ var a10751;
+ var a10752;
+ var a10753;
+ var a10754;
+ var a10755;
+ var a10756;
+ var a10757;
+ var a10758;
+ var a10759;
+ var a10760;
+ var a10761;
+ var a10762;
+ var a10763;
+ var a10764;
+ var a10765;
+ var a10766;
+ var a10767;
+ var a10768;
+ var a10769;
+ var a10770;
+ var a10771;
+ var a10772;
+ var a10773;
+ var a10774;
+ var a10775;
+ var a10776;
+ var a10777;
+ var a10778;
+ var a10779;
+ var a10780;
+ var a10781;
+ var a10782;
+ var a10783;
+ var a10784;
+ var a10785;
+ var a10786;
+ var a10787;
+ var a10788;
+ var a10789;
+ var a10790;
+ var a10791;
+ var a10792;
+ var a10793;
+ var a10794;
+ var a10795;
+ var a10796;
+ var a10797;
+ var a10798;
+ var a10799;
+ var a10800;
+ var a10801;
+ var a10802;
+ var a10803;
+ var a10804;
+ var a10805;
+ var a10806;
+ var a10807;
+ var a10808;
+ var a10809;
+ var a10810;
+ var a10811;
+ var a10812;
+ var a10813;
+ var a10814;
+ var a10815;
+ var a10816;
+ var a10817;
+ var a10818;
+ var a10819;
+ var a10820;
+ var a10821;
+ var a10822;
+ var a10823;
+ var a10824;
+ var a10825;
+ var a10826;
+ var a10827;
+ var a10828;
+ var a10829;
+ var a10830;
+ var a10831;
+ var a10832;
+ var a10833;
+ var a10834;
+ var a10835;
+ var a10836;
+ var a10837;
+ var a10838;
+ var a10839;
+ var a10840;
+ var a10841;
+ var a10842;
+ var a10843;
+ var a10844;
+ var a10845;
+ var a10846;
+ var a10847;
+ var a10848;
+ var a10849;
+ var a10850;
+ var a10851;
+ var a10852;
+ var a10853;
+ var a10854;
+ var a10855;
+ var a10856;
+ var a10857;
+ var a10858;
+ var a10859;
+ var a10860;
+ var a10861;
+ var a10862;
+ var a10863;
+ var a10864;
+ var a10865;
+ var a10866;
+ var a10867;
+ var a10868;
+ var a10869;
+ var a10870;
+ var a10871;
+ var a10872;
+ var a10873;
+ var a10874;
+ var a10875;
+ var a10876;
+ var a10877;
+ var a10878;
+ var a10879;
+ var a10880;
+ var a10881;
+ var a10882;
+ var a10883;
+ var a10884;
+ var a10885;
+ var a10886;
+ var a10887;
+ var a10888;
+ var a10889;
+ var a10890;
+ var a10891;
+ var a10892;
+ var a10893;
+ var a10894;
+ var a10895;
+ var a10896;
+ var a10897;
+ var a10898;
+ var a10899;
+ var a10900;
+ var a10901;
+ var a10902;
+ var a10903;
+ var a10904;
+ var a10905;
+ var a10906;
+ var a10907;
+ var a10908;
+ var a10909;
+ var a10910;
+ var a10911;
+ var a10912;
+ var a10913;
+ var a10914;
+ var a10915;
+ var a10916;
+ var a10917;
+ var a10918;
+ var a10919;
+ var a10920;
+ var a10921;
+ var a10922;
+ var a10923;
+ var a10924;
+ var a10925;
+ var a10926;
+ var a10927;
+ var a10928;
+ var a10929;
+ var a10930;
+ var a10931;
+ var a10932;
+ var a10933;
+ var a10934;
+ var a10935;
+ var a10936;
+ var a10937;
+ var a10938;
+ var a10939;
+ var a10940;
+ var a10941;
+ var a10942;
+ var a10943;
+ var a10944;
+ var a10945;
+ var a10946;
+ var a10947;
+ var a10948;
+ var a10949;
+ var a10950;
+ var a10951;
+ var a10952;
+ var a10953;
+ var a10954;
+ var a10955;
+ var a10956;
+ var a10957;
+ var a10958;
+ var a10959;
+ var a10960;
+ var a10961;
+ var a10962;
+ var a10963;
+ var a10964;
+ var a10965;
+ var a10966;
+ var a10967;
+ var a10968;
+ var a10969;
+ var a10970;
+ var a10971;
+ var a10972;
+ var a10973;
+ var a10974;
+ var a10975;
+ var a10976;
+ var a10977;
+ var a10978;
+ var a10979;
+ var a10980;
+ var a10981;
+ var a10982;
+ var a10983;
+ var a10984;
+ var a10985;
+ var a10986;
+ var a10987;
+ var a10988;
+ var a10989;
+ var a10990;
+ var a10991;
+ var a10992;
+ var a10993;
+ var a10994;
+ var a10995;
+ var a10996;
+ var a10997;
+ var a10998;
+ var a10999;
+ var a11000;
+ var a11001;
+ var a11002;
+ var a11003;
+ var a11004;
+ var a11005;
+ var a11006;
+ var a11007;
+ var a11008;
+ var a11009;
+ var a11010;
+ var a11011;
+ var a11012;
+ var a11013;
+ var a11014;
+ var a11015;
+ var a11016;
+ var a11017;
+ var a11018;
+ var a11019;
+ var a11020;
+ var a11021;
+ var a11022;
+ var a11023;
+ var a11024;
+ var a11025;
+ var a11026;
+ var a11027;
+ var a11028;
+ var a11029;
+ var a11030;
+ var a11031;
+ var a11032;
+ var a11033;
+ var a11034;
+ var a11035;
+ var a11036;
+ var a11037;
+ var a11038;
+ var a11039;
+ var a11040;
+ var a11041;
+ var a11042;
+ var a11043;
+ var a11044;
+ var a11045;
+ var a11046;
+ var a11047;
+ var a11048;
+ var a11049;
+ var a11050;
+ var a11051;
+ var a11052;
+ var a11053;
+ var a11054;
+ var a11055;
+ var a11056;
+ var a11057;
+ var a11058;
+ var a11059;
+ var a11060;
+ var a11061;
+ var a11062;
+ var a11063;
+ var a11064;
+ var a11065;
+ var a11066;
+ var a11067;
+ var a11068;
+ var a11069;
+ var a11070;
+ var a11071;
+ var a11072;
+ var a11073;
+ var a11074;
+ var a11075;
+ var a11076;
+ var a11077;
+ var a11078;
+ var a11079;
+ var a11080;
+ var a11081;
+ var a11082;
+ var a11083;
+ var a11084;
+ var a11085;
+ var a11086;
+ var a11087;
+ var a11088;
+ var a11089;
+ var a11090;
+ var a11091;
+ var a11092;
+ var a11093;
+ var a11094;
+ var a11095;
+ var a11096;
+ var a11097;
+ var a11098;
+ var a11099;
+ var a11100;
+ var a11101;
+ var a11102;
+ var a11103;
+ var a11104;
+ var a11105;
+ var a11106;
+ var a11107;
+ var a11108;
+ var a11109;
+ var a11110;
+ var a11111;
+ var a11112;
+ var a11113;
+ var a11114;
+ var a11115;
+ var a11116;
+ var a11117;
+ var a11118;
+ var a11119;
+ var a11120;
+ var a11121;
+ var a11122;
+ var a11123;
+ var a11124;
+ var a11125;
+ var a11126;
+ var a11127;
+ var a11128;
+ var a11129;
+ var a11130;
+ var a11131;
+ var a11132;
+ var a11133;
+ var a11134;
+ var a11135;
+ var a11136;
+ var a11137;
+ var a11138;
+ var a11139;
+ var a11140;
+ var a11141;
+ var a11142;
+ var a11143;
+ var a11144;
+ var a11145;
+ var a11146;
+ var a11147;
+ var a11148;
+ var a11149;
+ var a11150;
+ var a11151;
+ var a11152;
+ var a11153;
+ var a11154;
+ var a11155;
+ var a11156;
+ var a11157;
+ var a11158;
+ var a11159;
+ var a11160;
+ var a11161;
+ var a11162;
+ var a11163;
+ var a11164;
+ var a11165;
+ var a11166;
+ var a11167;
+ var a11168;
+ var a11169;
+ var a11170;
+ var a11171;
+ var a11172;
+ var a11173;
+ var a11174;
+ var a11175;
+ var a11176;
+ var a11177;
+ var a11178;
+ var a11179;
+ var a11180;
+ var a11181;
+ var a11182;
+ var a11183;
+ var a11184;
+ var a11185;
+ var a11186;
+ var a11187;
+ var a11188;
+ var a11189;
+ var a11190;
+ var a11191;
+ var a11192;
+ var a11193;
+ var a11194;
+ var a11195;
+ var a11196;
+ var a11197;
+ var a11198;
+ var a11199;
+ var a11200;
+ var a11201;
+ var a11202;
+ var a11203;
+ var a11204;
+ var a11205;
+ var a11206;
+ var a11207;
+ var a11208;
+ var a11209;
+ var a11210;
+ var a11211;
+ var a11212;
+ var a11213;
+ var a11214;
+ var a11215;
+ var a11216;
+ var a11217;
+ var a11218;
+ var a11219;
+ var a11220;
+ var a11221;
+ var a11222;
+ var a11223;
+ var a11224;
+ var a11225;
+ var a11226;
+ var a11227;
+ var a11228;
+ var a11229;
+ var a11230;
+ var a11231;
+ var a11232;
+ var a11233;
+ var a11234;
+ var a11235;
+ var a11236;
+ var a11237;
+ var a11238;
+ var a11239;
+ var a11240;
+ var a11241;
+ var a11242;
+ var a11243;
+ var a11244;
+ var a11245;
+ var a11246;
+ var a11247;
+ var a11248;
+ var a11249;
+ var a11250;
+ var a11251;
+ var a11252;
+ var a11253;
+ var a11254;
+ var a11255;
+ var a11256;
+ var a11257;
+ var a11258;
+ var a11259;
+ var a11260;
+ var a11261;
+ var a11262;
+ var a11263;
+ var a11264;
+ var a11265;
+ var a11266;
+ var a11267;
+ var a11268;
+ var a11269;
+ var a11270;
+ var a11271;
+ var a11272;
+ var a11273;
+ var a11274;
+ var a11275;
+ var a11276;
+ var a11277;
+ var a11278;
+ var a11279;
+ var a11280;
+ var a11281;
+ var a11282;
+ var a11283;
+ var a11284;
+ var a11285;
+ var a11286;
+ var a11287;
+ var a11288;
+ var a11289;
+ var a11290;
+ var a11291;
+ var a11292;
+ var a11293;
+ var a11294;
+ var a11295;
+ var a11296;
+ var a11297;
+ var a11298;
+ var a11299;
+ var a11300;
+ var a11301;
+ var a11302;
+ var a11303;
+ var a11304;
+ var a11305;
+ var a11306;
+ var a11307;
+ var a11308;
+ var a11309;
+ var a11310;
+ var a11311;
+ var a11312;
+ var a11313;
+ var a11314;
+ var a11315;
+ var a11316;
+ var a11317;
+ var a11318;
+ var a11319;
+ var a11320;
+ var a11321;
+ var a11322;
+ var a11323;
+ var a11324;
+ var a11325;
+ var a11326;
+ var a11327;
+ var a11328;
+ var a11329;
+ var a11330;
+ var a11331;
+ var a11332;
+ var a11333;
+ var a11334;
+ var a11335;
+ var a11336;
+ var a11337;
+ var a11338;
+ var a11339;
+ var a11340;
+ var a11341;
+ var a11342;
+ var a11343;
+ var a11344;
+ var a11345;
+ var a11346;
+ var a11347;
+ var a11348;
+ var a11349;
+ var a11350;
+ var a11351;
+ var a11352;
+ var a11353;
+ var a11354;
+ var a11355;
+ var a11356;
+ var a11357;
+ var a11358;
+ var a11359;
+ var a11360;
+ var a11361;
+ var a11362;
+ var a11363;
+ var a11364;
+ var a11365;
+ var a11366;
+ var a11367;
+ var a11368;
+ var a11369;
+ var a11370;
+ var a11371;
+ var a11372;
+ var a11373;
+ var a11374;
+ var a11375;
+ var a11376;
+ var a11377;
+ var a11378;
+ var a11379;
+ var a11380;
+ var a11381;
+ var a11382;
+ var a11383;
+ var a11384;
+ var a11385;
+ var a11386;
+ var a11387;
+ var a11388;
+ var a11389;
+ var a11390;
+ var a11391;
+ var a11392;
+ var a11393;
+ var a11394;
+ var a11395;
+ var a11396;
+ var a11397;
+ var a11398;
+ var a11399;
+ var a11400;
+ var a11401;
+ var a11402;
+ var a11403;
+ var a11404;
+ var a11405;
+ var a11406;
+ var a11407;
+ var a11408;
+ var a11409;
+ var a11410;
+ var a11411;
+ var a11412;
+ var a11413;
+ var a11414;
+ var a11415;
+ var a11416;
+ var a11417;
+ var a11418;
+ var a11419;
+ var a11420;
+ var a11421;
+ var a11422;
+ var a11423;
+ var a11424;
+ var a11425;
+ var a11426;
+ var a11427;
+ var a11428;
+ var a11429;
+ var a11430;
+ var a11431;
+ var a11432;
+ var a11433;
+ var a11434;
+ var a11435;
+ var a11436;
+ var a11437;
+ var a11438;
+ var a11439;
+ var a11440;
+ var a11441;
+ var a11442;
+ var a11443;
+ var a11444;
+ var a11445;
+ var a11446;
+ var a11447;
+ var a11448;
+ var a11449;
+ var a11450;
+ var a11451;
+ var a11452;
+ var a11453;
+ var a11454;
+ var a11455;
+ var a11456;
+ var a11457;
+ var a11458;
+ var a11459;
+ var a11460;
+ var a11461;
+ var a11462;
+ var a11463;
+ var a11464;
+ var a11465;
+ var a11466;
+ var a11467;
+ var a11468;
+ var a11469;
+ var a11470;
+ var a11471;
+ var a11472;
+ var a11473;
+ var a11474;
+ var a11475;
+ var a11476;
+ var a11477;
+ var a11478;
+ var a11479;
+ var a11480;
+ var a11481;
+ var a11482;
+ var a11483;
+ var a11484;
+ var a11485;
+ var a11486;
+ var a11487;
+ var a11488;
+ var a11489;
+ var a11490;
+ var a11491;
+ var a11492;
+ var a11493;
+ var a11494;
+ var a11495;
+ var a11496;
+ var a11497;
+ var a11498;
+ var a11499;
+ var a11500;
+ var a11501;
+ var a11502;
+ var a11503;
+ var a11504;
+ var a11505;
+ var a11506;
+ var a11507;
+ var a11508;
+ var a11509;
+ var a11510;
+ var a11511;
+ var a11512;
+ var a11513;
+ var a11514;
+ var a11515;
+ var a11516;
+ var a11517;
+ var a11518;
+ var a11519;
+ var a11520;
+ var a11521;
+ var a11522;
+ var a11523;
+ var a11524;
+ var a11525;
+ var a11526;
+ var a11527;
+ var a11528;
+ var a11529;
+ var a11530;
+ var a11531;
+ var a11532;
+ var a11533;
+ var a11534;
+ var a11535;
+ var a11536;
+ var a11537;
+ var a11538;
+ var a11539;
+ var a11540;
+ var a11541;
+ var a11542;
+ var a11543;
+ var a11544;
+ var a11545;
+ var a11546;
+ var a11547;
+ var a11548;
+ var a11549;
+ var a11550;
+ var a11551;
+ var a11552;
+ var a11553;
+ var a11554;
+ var a11555;
+ var a11556;
+ var a11557;
+ var a11558;
+ var a11559;
+ var a11560;
+ var a11561;
+ var a11562;
+ var a11563;
+ var a11564;
+ var a11565;
+ var a11566;
+ var a11567;
+ var a11568;
+ var a11569;
+ var a11570;
+ var a11571;
+ var a11572;
+ var a11573;
+ var a11574;
+ var a11575;
+ var a11576;
+ var a11577;
+ var a11578;
+ var a11579;
+ var a11580;
+ var a11581;
+ var a11582;
+ var a11583;
+ var a11584;
+ var a11585;
+ var a11586;
+ var a11587;
+ var a11588;
+ var a11589;
+ var a11590;
+ var a11591;
+ var a11592;
+ var a11593;
+ var a11594;
+ var a11595;
+ var a11596;
+ var a11597;
+ var a11598;
+ var a11599;
+ var a11600;
+ var a11601;
+ var a11602;
+ var a11603;
+ var a11604;
+ var a11605;
+ var a11606;
+ var a11607;
+ var a11608;
+ var a11609;
+ var a11610;
+ var a11611;
+ var a11612;
+ var a11613;
+ var a11614;
+ var a11615;
+ var a11616;
+ var a11617;
+ var a11618;
+ var a11619;
+ var a11620;
+ var a11621;
+ var a11622;
+ var a11623;
+ var a11624;
+ var a11625;
+ var a11626;
+ var a11627;
+ var a11628;
+ var a11629;
+ var a11630;
+ var a11631;
+ var a11632;
+ var a11633;
+ var a11634;
+ var a11635;
+ var a11636;
+ var a11637;
+ var a11638;
+ var a11639;
+ var a11640;
+ var a11641;
+ var a11642;
+ var a11643;
+ var a11644;
+ var a11645;
+ var a11646;
+ var a11647;
+ var a11648;
+ var a11649;
+ var a11650;
+ var a11651;
+ var a11652;
+ var a11653;
+ var a11654;
+ var a11655;
+ var a11656;
+ var a11657;
+ var a11658;
+ var a11659;
+ var a11660;
+ var a11661;
+ var a11662;
+ var a11663;
+ var a11664;
+ var a11665;
+ var a11666;
+ var a11667;
+ var a11668;
+ var a11669;
+ var a11670;
+ var a11671;
+ var a11672;
+ var a11673;
+ var a11674;
+ var a11675;
+ var a11676;
+ var a11677;
+ var a11678;
+ var a11679;
+ var a11680;
+ var a11681;
+ var a11682;
+ var a11683;
+ var a11684;
+ var a11685;
+ var a11686;
+ var a11687;
+ var a11688;
+ var a11689;
+ var a11690;
+ var a11691;
+ var a11692;
+ var a11693;
+ var a11694;
+ var a11695;
+ var a11696;
+ var a11697;
+ var a11698;
+ var a11699;
+ var a11700;
+ var a11701;
+ var a11702;
+ var a11703;
+ var a11704;
+ var a11705;
+ var a11706;
+ var a11707;
+ var a11708;
+ var a11709;
+ var a11710;
+ var a11711;
+ var a11712;
+ var a11713;
+ var a11714;
+ var a11715;
+ var a11716;
+ var a11717;
+ var a11718;
+ var a11719;
+ var a11720;
+ var a11721;
+ var a11722;
+ var a11723;
+ var a11724;
+ var a11725;
+ var a11726;
+ var a11727;
+ var a11728;
+ var a11729;
+ var a11730;
+ var a11731;
+ var a11732;
+ var a11733;
+ var a11734;
+ var a11735;
+ var a11736;
+ var a11737;
+ var a11738;
+ var a11739;
+ var a11740;
+ var a11741;
+ var a11742;
+ var a11743;
+ var a11744;
+ var a11745;
+ var a11746;
+ var a11747;
+ var a11748;
+ var a11749;
+ var a11750;
+ var a11751;
+ var a11752;
+ var a11753;
+ var a11754;
+ var a11755;
+ var a11756;
+ var a11757;
+ var a11758;
+ var a11759;
+ var a11760;
+ var a11761;
+ var a11762;
+ var a11763;
+ var a11764;
+ var a11765;
+ var a11766;
+ var a11767;
+ var a11768;
+ var a11769;
+ var a11770;
+ var a11771;
+ var a11772;
+ var a11773;
+ var a11774;
+ var a11775;
+ var a11776;
+ var a11777;
+ var a11778;
+ var a11779;
+ var a11780;
+ var a11781;
+ var a11782;
+ var a11783;
+ var a11784;
+ var a11785;
+ var a11786;
+ var a11787;
+ var a11788;
+ var a11789;
+ var a11790;
+ var a11791;
+ var a11792;
+ var a11793;
+ var a11794;
+ var a11795;
+ var a11796;
+ var a11797;
+ var a11798;
+ var a11799;
+ var a11800;
+ var a11801;
+ var a11802;
+ var a11803;
+ var a11804;
+ var a11805;
+ var a11806;
+ var a11807;
+ var a11808;
+ var a11809;
+ var a11810;
+ var a11811;
+ var a11812;
+ var a11813;
+ var a11814;
+ var a11815;
+ var a11816;
+ var a11817;
+ var a11818;
+ var a11819;
+ var a11820;
+ var a11821;
+ var a11822;
+ var a11823;
+ var a11824;
+ var a11825;
+ var a11826;
+ var a11827;
+ var a11828;
+ var a11829;
+ var a11830;
+ var a11831;
+ var a11832;
+ var a11833;
+ var a11834;
+ var a11835;
+ var a11836;
+ var a11837;
+ var a11838;
+ var a11839;
+ var a11840;
+ var a11841;
+ var a11842;
+ var a11843;
+ var a11844;
+ var a11845;
+ var a11846;
+ var a11847;
+ var a11848;
+ var a11849;
+ var a11850;
+ var a11851;
+ var a11852;
+ var a11853;
+ var a11854;
+ var a11855;
+ var a11856;
+ var a11857;
+ var a11858;
+ var a11859;
+ var a11860;
+ var a11861;
+ var a11862;
+ var a11863;
+ var a11864;
+ var a11865;
+ var a11866;
+ var a11867;
+ var a11868;
+ var a11869;
+ var a11870;
+ var a11871;
+ var a11872;
+ var a11873;
+ var a11874;
+ var a11875;
+ var a11876;
+ var a11877;
+ var a11878;
+ var a11879;
+ var a11880;
+ var a11881;
+ var a11882;
+ var a11883;
+ var a11884;
+ var a11885;
+ var a11886;
+ var a11887;
+ var a11888;
+ var a11889;
+ var a11890;
+ var a11891;
+ var a11892;
+ var a11893;
+ var a11894;
+ var a11895;
+ var a11896;
+ var a11897;
+ var a11898;
+ var a11899;
+ var a11900;
+ var a11901;
+ var a11902;
+ var a11903;
+ var a11904;
+ var a11905;
+ var a11906;
+ var a11907;
+ var a11908;
+ var a11909;
+ var a11910;
+ var a11911;
+ var a11912;
+ var a11913;
+ var a11914;
+ var a11915;
+ var a11916;
+ var a11917;
+ var a11918;
+ var a11919;
+ var a11920;
+ var a11921;
+ var a11922;
+ var a11923;
+ var a11924;
+ var a11925;
+ var a11926;
+ var a11927;
+ var a11928;
+ var a11929;
+ var a11930;
+ var a11931;
+ var a11932;
+ var a11933;
+ var a11934;
+ var a11935;
+ var a11936;
+ var a11937;
+ var a11938;
+ var a11939;
+ var a11940;
+ var a11941;
+ var a11942;
+ var a11943;
+ var a11944;
+ var a11945;
+ var a11946;
+ var a11947;
+ var a11948;
+ var a11949;
+ var a11950;
+ var a11951;
+ var a11952;
+ var a11953;
+ var a11954;
+ var a11955;
+ var a11956;
+ var a11957;
+ var a11958;
+ var a11959;
+ var a11960;
+ var a11961;
+ var a11962;
+ var a11963;
+ var a11964;
+ var a11965;
+ var a11966;
+ var a11967;
+ var a11968;
+ var a11969;
+ var a11970;
+ var a11971;
+ var a11972;
+ var a11973;
+ var a11974;
+ var a11975;
+ var a11976;
+ var a11977;
+ var a11978;
+ var a11979;
+ var a11980;
+ var a11981;
+ var a11982;
+ var a11983;
+ var a11984;
+ var a11985;
+ var a11986;
+ var a11987;
+ var a11988;
+ var a11989;
+ var a11990;
+ var a11991;
+ var a11992;
+ var a11993;
+ var a11994;
+ var a11995;
+ var a11996;
+ var a11997;
+ var a11998;
+ var a11999;
+ var a12000;
+ var a12001;
+ var a12002;
+ var a12003;
+ var a12004;
+ var a12005;
+ var a12006;
+ var a12007;
+ var a12008;
+ var a12009;
+ var a12010;
+ var a12011;
+ var a12012;
+ var a12013;
+ var a12014;
+ var a12015;
+ var a12016;
+ var a12017;
+ var a12018;
+ var a12019;
+ var a12020;
+ var a12021;
+ var a12022;
+ var a12023;
+ var a12024;
+ var a12025;
+ var a12026;
+ var a12027;
+ var a12028;
+ var a12029;
+ var a12030;
+ var a12031;
+ var a12032;
+ var a12033;
+ var a12034;
+ var a12035;
+ var a12036;
+ var a12037;
+ var a12038;
+ var a12039;
+ var a12040;
+ var a12041;
+ var a12042;
+ var a12043;
+ var a12044;
+ var a12045;
+ var a12046;
+ var a12047;
+ var a12048;
+ var a12049;
+ var a12050;
+ var a12051;
+ var a12052;
+ var a12053;
+ var a12054;
+ var a12055;
+ var a12056;
+ var a12057;
+ var a12058;
+ var a12059;
+ var a12060;
+ var a12061;
+ var a12062;
+ var a12063;
+ var a12064;
+ var a12065;
+ var a12066;
+ var a12067;
+ var a12068;
+ var a12069;
+ var a12070;
+ var a12071;
+ var a12072;
+ var a12073;
+ var a12074;
+ var a12075;
+ var a12076;
+ var a12077;
+ var a12078;
+ var a12079;
+ var a12080;
+ var a12081;
+ var a12082;
+ var a12083;
+ var a12084;
+ var a12085;
+ var a12086;
+ var a12087;
+ var a12088;
+ var a12089;
+ var a12090;
+ var a12091;
+ var a12092;
+ var a12093;
+ var a12094;
+ var a12095;
+ var a12096;
+ var a12097;
+ var a12098;
+ var a12099;
+ var a12100;
+ var a12101;
+ var a12102;
+ var a12103;
+ var a12104;
+ var a12105;
+ var a12106;
+ var a12107;
+ var a12108;
+ var a12109;
+ var a12110;
+ var a12111;
+ var a12112;
+ var a12113;
+ var a12114;
+ var a12115;
+ var a12116;
+ var a12117;
+ var a12118;
+ var a12119;
+ var a12120;
+ var a12121;
+ var a12122;
+ var a12123;
+ var a12124;
+ var a12125;
+ var a12126;
+ var a12127;
+ var a12128;
+ var a12129;
+ var a12130;
+ var a12131;
+ var a12132;
+ var a12133;
+ var a12134;
+ var a12135;
+ var a12136;
+ var a12137;
+ var a12138;
+ var a12139;
+ var a12140;
+ var a12141;
+ var a12142;
+ var a12143;
+ var a12144;
+ var a12145;
+ var a12146;
+ var a12147;
+ var a12148;
+ var a12149;
+ var a12150;
+ var a12151;
+ var a12152;
+ var a12153;
+ var a12154;
+ var a12155;
+ var a12156;
+ var a12157;
+ var a12158;
+ var a12159;
+ var a12160;
+ var a12161;
+ var a12162;
+ var a12163;
+ var a12164;
+ var a12165;
+ var a12166;
+ var a12167;
+ var a12168;
+ var a12169;
+ var a12170;
+ var a12171;
+ var a12172;
+ var a12173;
+ var a12174;
+ var a12175;
+ var a12176;
+ var a12177;
+ var a12178;
+ var a12179;
+ var a12180;
+ var a12181;
+ var a12182;
+ var a12183;
+ var a12184;
+ var a12185;
+ var a12186;
+ var a12187;
+ var a12188;
+ var a12189;
+ var a12190;
+ var a12191;
+ var a12192;
+ var a12193;
+ var a12194;
+ var a12195;
+ var a12196;
+ var a12197;
+ var a12198;
+ var a12199;
+ var a12200;
+ var a12201;
+ var a12202;
+ var a12203;
+ var a12204;
+ var a12205;
+ var a12206;
+ var a12207;
+ var a12208;
+ var a12209;
+ var a12210;
+ var a12211;
+ var a12212;
+ var a12213;
+ var a12214;
+ var a12215;
+ var a12216;
+ var a12217;
+ var a12218;
+ var a12219;
+ var a12220;
+ var a12221;
+ var a12222;
+ var a12223;
+ var a12224;
+ var a12225;
+ var a12226;
+ var a12227;
+ var a12228;
+ var a12229;
+ var a12230;
+ var a12231;
+ var a12232;
+ var a12233;
+ var a12234;
+ var a12235;
+ var a12236;
+ var a12237;
+ var a12238;
+ var a12239;
+ var a12240;
+ var a12241;
+ var a12242;
+ var a12243;
+ var a12244;
+ var a12245;
+ var a12246;
+ var a12247;
+ var a12248;
+ var a12249;
+ var a12250;
+ var a12251;
+ var a12252;
+ var a12253;
+ var a12254;
+ var a12255;
+ var a12256;
+ var a12257;
+ var a12258;
+ var a12259;
+ var a12260;
+ var a12261;
+ var a12262;
+ var a12263;
+ var a12264;
+ var a12265;
+ var a12266;
+ var a12267;
+ var a12268;
+ var a12269;
+ var a12270;
+ var a12271;
+ var a12272;
+ var a12273;
+ var a12274;
+ var a12275;
+ var a12276;
+ var a12277;
+ var a12278;
+ var a12279;
+ var a12280;
+ var a12281;
+ var a12282;
+ var a12283;
+ var a12284;
+ var a12285;
+ var a12286;
+ var a12287;
+ var a12288;
+ var a12289;
+ var a12290;
+ var a12291;
+ var a12292;
+ var a12293;
+ var a12294;
+ var a12295;
+ var a12296;
+ var a12297;
+ var a12298;
+ var a12299;
+ var a12300;
+ var a12301;
+ var a12302;
+ var a12303;
+ var a12304;
+ var a12305;
+ var a12306;
+ var a12307;
+ var a12308;
+ var a12309;
+ var a12310;
+ var a12311;
+ var a12312;
+ var a12313;
+ var a12314;
+ var a12315;
+ var a12316;
+ var a12317;
+ var a12318;
+ var a12319;
+ var a12320;
+ var a12321;
+ var a12322;
+ var a12323;
+ var a12324;
+ var a12325;
+ var a12326;
+ var a12327;
+ var a12328;
+ var a12329;
+ var a12330;
+ var a12331;
+ var a12332;
+ var a12333;
+ var a12334;
+ var a12335;
+ var a12336;
+ var a12337;
+ var a12338;
+ var a12339;
+ var a12340;
+ var a12341;
+ var a12342;
+ var a12343;
+ var a12344;
+ var a12345;
+ var a12346;
+ var a12347;
+ var a12348;
+ var a12349;
+ var a12350;
+ var a12351;
+ var a12352;
+ var a12353;
+ var a12354;
+ var a12355;
+ var a12356;
+ var a12357;
+ var a12358;
+ var a12359;
+ var a12360;
+ var a12361;
+ var a12362;
+ var a12363;
+ var a12364;
+ var a12365;
+ var a12366;
+ var a12367;
+ var a12368;
+ var a12369;
+ var a12370;
+ var a12371;
+ var a12372;
+ var a12373;
+ var a12374;
+ var a12375;
+ var a12376;
+ var a12377;
+ var a12378;
+ var a12379;
+ var a12380;
+ var a12381;
+ var a12382;
+ var a12383;
+ var a12384;
+ var a12385;
+ var a12386;
+ var a12387;
+ var a12388;
+ var a12389;
+ var a12390;
+ var a12391;
+ var a12392;
+ var a12393;
+ var a12394;
+ var a12395;
+ var a12396;
+ var a12397;
+ var a12398;
+ var a12399;
+ var a12400;
+ var a12401;
+ var a12402;
+ var a12403;
+ var a12404;
+ var a12405;
+ var a12406;
+ var a12407;
+ var a12408;
+ var a12409;
+ var a12410;
+ var a12411;
+ var a12412;
+ var a12413;
+ var a12414;
+ var a12415;
+ var a12416;
+ var a12417;
+ var a12418;
+ var a12419;
+ var a12420;
+ var a12421;
+ var a12422;
+ var a12423;
+ var a12424;
+ var a12425;
+ var a12426;
+ var a12427;
+ var a12428;
+ var a12429;
+ var a12430;
+ var a12431;
+ var a12432;
+ var a12433;
+ var a12434;
+ var a12435;
+ var a12436;
+ var a12437;
+ var a12438;
+ var a12439;
+ var a12440;
+ var a12441;
+ var a12442;
+ var a12443;
+ var a12444;
+ var a12445;
+ var a12446;
+ var a12447;
+ var a12448;
+ var a12449;
+ var a12450;
+ var a12451;
+ var a12452;
+ var a12453;
+ var a12454;
+ var a12455;
+ var a12456;
+ var a12457;
+ var a12458;
+ var a12459;
+ var a12460;
+ var a12461;
+ var a12462;
+ var a12463;
+ var a12464;
+ var a12465;
+ var a12466;
+ var a12467;
+ var a12468;
+ var a12469;
+ var a12470;
+ var a12471;
+ var a12472;
+ var a12473;
+ var a12474;
+ var a12475;
+ var a12476;
+ var a12477;
+ var a12478;
+ var a12479;
+ var a12480;
+ var a12481;
+ var a12482;
+ var a12483;
+ var a12484;
+ var a12485;
+ var a12486;
+ var a12487;
+ var a12488;
+ var a12489;
+ var a12490;
+ var a12491;
+ var a12492;
+ var a12493;
+ var a12494;
+ var a12495;
+ var a12496;
+ var a12497;
+ var a12498;
+ var a12499;
+ var a12500;
+ var a12501;
+ var a12502;
+ var a12503;
+ var a12504;
+ var a12505;
+ var a12506;
+ var a12507;
+ var a12508;
+ var a12509;
+ var a12510;
+ var a12511;
+ var a12512;
+ var a12513;
+ var a12514;
+ var a12515;
+ var a12516;
+ var a12517;
+ var a12518;
+ var a12519;
+ var a12520;
+ var a12521;
+ var a12522;
+ var a12523;
+ var a12524;
+ var a12525;
+ var a12526;
+ var a12527;
+ var a12528;
+ var a12529;
+ var a12530;
+ var a12531;
+ var a12532;
+ var a12533;
+ var a12534;
+ var a12535;
+ var a12536;
+ var a12537;
+ var a12538;
+ var a12539;
+ var a12540;
+ var a12541;
+ var a12542;
+ var a12543;
+ var a12544;
+ var a12545;
+ var a12546;
+ var a12547;
+ var a12548;
+ var a12549;
+ var a12550;
+ var a12551;
+ var a12552;
+ var a12553;
+ var a12554;
+ var a12555;
+ var a12556;
+ var a12557;
+ var a12558;
+ var a12559;
+ var a12560;
+ var a12561;
+ var a12562;
+ var a12563;
+ var a12564;
+ var a12565;
+ var a12566;
+ var a12567;
+ var a12568;
+ var a12569;
+ var a12570;
+ var a12571;
+ var a12572;
+ var a12573;
+ var a12574;
+ var a12575;
+ var a12576;
+ var a12577;
+ var a12578;
+ var a12579;
+ var a12580;
+ var a12581;
+ var a12582;
+ var a12583;
+ var a12584;
+ var a12585;
+ var a12586;
+ var a12587;
+ var a12588;
+ var a12589;
+ var a12590;
+ var a12591;
+ var a12592;
+ var a12593;
+ var a12594;
+ var a12595;
+ var a12596;
+ var a12597;
+ var a12598;
+ var a12599;
+ var a12600;
+ var a12601;
+ var a12602;
+ var a12603;
+ var a12604;
+ var a12605;
+ var a12606;
+ var a12607;
+ var a12608;
+ var a12609;
+ var a12610;
+ var a12611;
+ var a12612;
+ var a12613;
+ var a12614;
+ var a12615;
+ var a12616;
+ var a12617;
+ var a12618;
+ var a12619;
+ var a12620;
+ var a12621;
+ var a12622;
+ var a12623;
+ var a12624;
+ var a12625;
+ var a12626;
+ var a12627;
+ var a12628;
+ var a12629;
+ var a12630;
+ var a12631;
+ var a12632;
+ var a12633;
+ var a12634;
+ var a12635;
+ var a12636;
+ var a12637;
+ var a12638;
+ var a12639;
+ var a12640;
+ var a12641;
+ var a12642;
+ var a12643;
+ var a12644;
+ var a12645;
+ var a12646;
+ var a12647;
+ var a12648;
+ var a12649;
+ var a12650;
+ var a12651;
+ var a12652;
+ var a12653;
+ var a12654;
+ var a12655;
+ var a12656;
+ var a12657;
+ var a12658;
+ var a12659;
+ var a12660;
+ var a12661;
+ var a12662;
+ var a12663;
+ var a12664;
+ var a12665;
+ var a12666;
+ var a12667;
+ var a12668;
+ var a12669;
+ var a12670;
+ var a12671;
+ var a12672;
+ var a12673;
+ var a12674;
+ var a12675;
+ var a12676;
+ var a12677;
+ var a12678;
+ var a12679;
+ var a12680;
+ var a12681;
+ var a12682;
+ var a12683;
+ var a12684;
+ var a12685;
+ var a12686;
+ var a12687;
+ var a12688;
+ var a12689;
+ var a12690;
+ var a12691;
+ var a12692;
+ var a12693;
+ var a12694;
+ var a12695;
+ var a12696;
+ var a12697;
+ var a12698;
+ var a12699;
+ var a12700;
+ var a12701;
+ var a12702;
+ var a12703;
+ var a12704;
+ var a12705;
+ var a12706;
+ var a12707;
+ var a12708;
+ var a12709;
+ var a12710;
+ var a12711;
+ var a12712;
+ var a12713;
+ var a12714;
+ var a12715;
+ var a12716;
+ var a12717;
+ var a12718;
+ var a12719;
+ var a12720;
+ var a12721;
+ var a12722;
+ var a12723;
+ var a12724;
+ var a12725;
+ var a12726;
+ var a12727;
+ var a12728;
+ var a12729;
+ var a12730;
+ var a12731;
+ var a12732;
+ var a12733;
+ var a12734;
+ var a12735;
+ var a12736;
+ var a12737;
+ var a12738;
+ var a12739;
+ var a12740;
+ var a12741;
+ var a12742;
+ var a12743;
+ var a12744;
+ var a12745;
+ var a12746;
+ var a12747;
+ var a12748;
+ var a12749;
+ var a12750;
+ var a12751;
+ var a12752;
+ var a12753;
+ var a12754;
+ var a12755;
+ var a12756;
+ var a12757;
+ var a12758;
+ var a12759;
+ var a12760;
+ var a12761;
+ var a12762;
+ var a12763;
+ var a12764;
+ var a12765;
+ var a12766;
+ var a12767;
+ var a12768;
+ var a12769;
+ var a12770;
+ var a12771;
+ var a12772;
+ var a12773;
+ var a12774;
+ var a12775;
+ var a12776;
+ var a12777;
+ var a12778;
+ var a12779;
+ var a12780;
+ var a12781;
+ var a12782;
+ var a12783;
+ var a12784;
+ var a12785;
+ var a12786;
+ var a12787;
+ var a12788;
+ var a12789;
+ var a12790;
+ var a12791;
+ var a12792;
+ var a12793;
+ var a12794;
+ var a12795;
+ var a12796;
+ var a12797;
+ var a12798;
+ var a12799;
+ var a12800;
+ var a12801;
+ var a12802;
+ var a12803;
+ var a12804;
+ var a12805;
+ var a12806;
+ var a12807;
+ var a12808;
+ var a12809;
+ var a12810;
+ var a12811;
+ var a12812;
+ var a12813;
+ var a12814;
+ var a12815;
+ var a12816;
+ var a12817;
+ var a12818;
+ var a12819;
+ var a12820;
+ var a12821;
+ var a12822;
+ var a12823;
+ var a12824;
+ var a12825;
+ var a12826;
+ var a12827;
+ var a12828;
+ var a12829;
+ var a12830;
+ var a12831;
+ var a12832;
+ var a12833;
+ var a12834;
+ var a12835;
+ var a12836;
+ var a12837;
+ var a12838;
+ var a12839;
+ var a12840;
+ var a12841;
+ var a12842;
+ var a12843;
+ var a12844;
+ var a12845;
+ var a12846;
+ var a12847;
+ var a12848;
+ var a12849;
+ var a12850;
+ var a12851;
+ var a12852;
+ var a12853;
+ var a12854;
+ var a12855;
+ var a12856;
+ var a12857;
+ var a12858;
+ var a12859;
+ var a12860;
+ var a12861;
+ var a12862;
+ var a12863;
+ var a12864;
+ var a12865;
+ var a12866;
+ var a12867;
+ var a12868;
+ var a12869;
+ var a12870;
+ var a12871;
+ var a12872;
+ var a12873;
+ var a12874;
+ var a12875;
+ var a12876;
+ var a12877;
+ var a12878;
+ var a12879;
+ var a12880;
+ var a12881;
+ var a12882;
+ var a12883;
+ var a12884;
+ var a12885;
+ var a12886;
+ var a12887;
+ var a12888;
+ var a12889;
+ var a12890;
+ var a12891;
+ var a12892;
+ var a12893;
+ var a12894;
+ var a12895;
+ var a12896;
+ var a12897;
+ var a12898;
+ var a12899;
+ var a12900;
+ var a12901;
+ var a12902;
+ var a12903;
+ var a12904;
+ var a12905;
+ var a12906;
+ var a12907;
+ var a12908;
+ var a12909;
+ var a12910;
+ var a12911;
+ var a12912;
+ var a12913;
+ var a12914;
+ var a12915;
+ var a12916;
+ var a12917;
+ var a12918;
+ var a12919;
+ var a12920;
+ var a12921;
+ var a12922;
+ var a12923;
+ var a12924;
+ var a12925;
+ var a12926;
+ var a12927;
+ var a12928;
+ var a12929;
+ var a12930;
+ var a12931;
+ var a12932;
+ var a12933;
+ var a12934;
+ var a12935;
+ var a12936;
+ var a12937;
+ var a12938;
+ var a12939;
+ var a12940;
+ var a12941;
+ var a12942;
+ var a12943;
+ var a12944;
+ var a12945;
+ var a12946;
+ var a12947;
+ var a12948;
+ var a12949;
+ var a12950;
+ var a12951;
+ var a12952;
+ var a12953;
+ var a12954;
+ var a12955;
+ var a12956;
+ var a12957;
+ var a12958;
+ var a12959;
+ var a12960;
+ var a12961;
+ var a12962;
+ var a12963;
+ var a12964;
+ var a12965;
+ var a12966;
+ var a12967;
+ var a12968;
+ var a12969;
+ var a12970;
+ var a12971;
+ var a12972;
+ var a12973;
+ var a12974;
+ var a12975;
+ var a12976;
+ var a12977;
+ var a12978;
+ var a12979;
+ var a12980;
+ var a12981;
+ var a12982;
+ var a12983;
+ var a12984;
+ var a12985;
+ var a12986;
+ var a12987;
+ var a12988;
+ var a12989;
+ var a12990;
+ var a12991;
+ var a12992;
+ var a12993;
+ var a12994;
+ var a12995;
+ var a12996;
+ var a12997;
+ var a12998;
+ var a12999;
+ var a13000;
+ var a13001;
+ var a13002;
+ var a13003;
+ var a13004;
+ var a13005;
+ var a13006;
+ var a13007;
+ var a13008;
+ var a13009;
+ var a13010;
+ var a13011;
+ var a13012;
+ var a13013;
+ var a13014;
+ var a13015;
+ var a13016;
+ var a13017;
+ var a13018;
+ var a13019;
+ var a13020;
+ var a13021;
+ var a13022;
+ var a13023;
+ var a13024;
+ var a13025;
+ var a13026;
+ var a13027;
+ var a13028;
+ var a13029;
+ var a13030;
+ var a13031;
+ var a13032;
+ var a13033;
+ var a13034;
+ var a13035;
+ var a13036;
+ var a13037;
+ var a13038;
+ var a13039;
+ var a13040;
+ var a13041;
+ var a13042;
+ var a13043;
+ var a13044;
+ var a13045;
+ var a13046;
+ var a13047;
+ var a13048;
+ var a13049;
+ var a13050;
+ var a13051;
+ var a13052;
+ var a13053;
+ var a13054;
+ var a13055;
+ var a13056;
+ var a13057;
+ var a13058;
+ var a13059;
+ var a13060;
+ var a13061;
+ var a13062;
+ var a13063;
+ var a13064;
+ var a13065;
+ var a13066;
+ var a13067;
+ var a13068;
+ var a13069;
+ var a13070;
+ var a13071;
+ var a13072;
+ var a13073;
+ var a13074;
+ var a13075;
+ var a13076;
+ var a13077;
+ var a13078;
+ var a13079;
+ var a13080;
+ var a13081;
+ var a13082;
+ var a13083;
+ var a13084;
+ var a13085;
+ var a13086;
+ var a13087;
+ var a13088;
+ var a13089;
+ var a13090;
+ var a13091;
+ var a13092;
+ var a13093;
+ var a13094;
+ var a13095;
+ var a13096;
+ var a13097;
+ var a13098;
+ var a13099;
+ var a13100;
+ var a13101;
+ var a13102;
+ var a13103;
+ var a13104;
+ var a13105;
+ var a13106;
+ var a13107;
+ var a13108;
+ var a13109;
+ var a13110;
+ var a13111;
+ var a13112;
+ var a13113;
+ var a13114;
+ var a13115;
+ var a13116;
+ var a13117;
+ var a13118;
+ var a13119;
+ var a13120;
+ var a13121;
+ var a13122;
+ var a13123;
+ var a13124;
+ var a13125;
+ var a13126;
+ var a13127;
+ var a13128;
+ var a13129;
+ var a13130;
+ var a13131;
+ var a13132;
+ var a13133;
+ var a13134;
+ var a13135;
+ var a13136;
+ var a13137;
+ var a13138;
+ var a13139;
+ var a13140;
+ var a13141;
+ var a13142;
+ var a13143;
+ var a13144;
+ var a13145;
+ var a13146;
+ var a13147;
+ var a13148;
+ var a13149;
+ var a13150;
+ var a13151;
+ var a13152;
+ var a13153;
+ var a13154;
+ var a13155;
+ var a13156;
+ var a13157;
+ var a13158;
+ var a13159;
+ var a13160;
+ var a13161;
+ var a13162;
+ var a13163;
+ var a13164;
+ var a13165;
+ var a13166;
+ var a13167;
+ var a13168;
+ var a13169;
+ var a13170;
+ var a13171;
+ var a13172;
+ var a13173;
+ var a13174;
+ var a13175;
+ var a13176;
+ var a13177;
+ var a13178;
+ var a13179;
+ var a13180;
+ var a13181;
+ var a13182;
+ var a13183;
+ var a13184;
+ var a13185;
+ var a13186;
+ var a13187;
+ var a13188;
+ var a13189;
+ var a13190;
+ var a13191;
+ var a13192;
+ var a13193;
+ var a13194;
+ var a13195;
+ var a13196;
+ var a13197;
+ var a13198;
+ var a13199;
+ var a13200;
+ var a13201;
+ var a13202;
+ var a13203;
+ var a13204;
+ var a13205;
+ var a13206;
+ var a13207;
+ var a13208;
+ var a13209;
+ var a13210;
+ var a13211;
+ var a13212;
+ var a13213;
+ var a13214;
+ var a13215;
+ var a13216;
+ var a13217;
+ var a13218;
+ var a13219;
+ var a13220;
+ var a13221;
+ var a13222;
+ var a13223;
+ var a13224;
+ var a13225;
+ var a13226;
+ var a13227;
+ var a13228;
+ var a13229;
+ var a13230;
+ var a13231;
+ var a13232;
+ var a13233;
+ var a13234;
+ var a13235;
+ var a13236;
+ var a13237;
+ var a13238;
+ var a13239;
+ var a13240;
+ var a13241;
+ var a13242;
+ var a13243;
+ var a13244;
+ var a13245;
+ var a13246;
+ var a13247;
+ var a13248;
+ var a13249;
+ var a13250;
+ var a13251;
+ var a13252;
+ var a13253;
+ var a13254;
+ var a13255;
+ var a13256;
+ var a13257;
+ var a13258;
+ var a13259;
+ var a13260;
+ var a13261;
+ var a13262;
+ var a13263;
+ var a13264;
+ var a13265;
+ var a13266;
+ var a13267;
+ var a13268;
+ var a13269;
+ var a13270;
+ var a13271;
+ var a13272;
+ var a13273;
+ var a13274;
+ var a13275;
+ var a13276;
+ var a13277;
+ var a13278;
+ var a13279;
+ var a13280;
+ var a13281;
+ var a13282;
+ var a13283;
+ var a13284;
+ var a13285;
+ var a13286;
+ var a13287;
+ var a13288;
+ var a13289;
+ var a13290;
+ var a13291;
+ var a13292;
+ var a13293;
+ var a13294;
+ var a13295;
+ var a13296;
+ var a13297;
+ var a13298;
+ var a13299;
+ var a13300;
+ var a13301;
+ var a13302;
+ var a13303;
+ var a13304;
+ var a13305;
+ var a13306;
+ var a13307;
+ var a13308;
+ var a13309;
+ var a13310;
+ var a13311;
+ var a13312;
+ var a13313;
+ var a13314;
+ var a13315;
+ var a13316;
+ var a13317;
+ var a13318;
+ var a13319;
+ var a13320;
+ var a13321;
+ var a13322;
+ var a13323;
+ var a13324;
+ var a13325;
+ var a13326;
+ var a13327;
+ var a13328;
+ var a13329;
+ var a13330;
+ var a13331;
+ var a13332;
+ var a13333;
+ var a13334;
+ var a13335;
+ var a13336;
+ var a13337;
+ var a13338;
+ var a13339;
+ var a13340;
+ var a13341;
+ var a13342;
+ var a13343;
+ var a13344;
+ var a13345;
+ var a13346;
+ var a13347;
+ var a13348;
+ var a13349;
+ var a13350;
+ var a13351;
+ var a13352;
+ var a13353;
+ var a13354;
+ var a13355;
+ var a13356;
+ var a13357;
+ var a13358;
+ var a13359;
+ var a13360;
+ var a13361;
+ var a13362;
+ var a13363;
+ var a13364;
+ var a13365;
+ var a13366;
+ var a13367;
+ var a13368;
+ var a13369;
+ var a13370;
+ var a13371;
+ var a13372;
+ var a13373;
+ var a13374;
+ var a13375;
+ var a13376;
+ var a13377;
+ var a13378;
+ var a13379;
+ var a13380;
+ var a13381;
+ var a13382;
+ var a13383;
+ var a13384;
+ var a13385;
+ var a13386;
+ var a13387;
+ var a13388;
+ var a13389;
+ var a13390;
+ var a13391;
+ var a13392;
+ var a13393;
+ var a13394;
+ var a13395;
+ var a13396;
+ var a13397;
+ var a13398;
+ var a13399;
+ var a13400;
+ var a13401;
+ var a13402;
+ var a13403;
+ var a13404;
+ var a13405;
+ var a13406;
+ var a13407;
+ var a13408;
+ var a13409;
+ var a13410;
+ var a13411;
+ var a13412;
+ var a13413;
+ var a13414;
+ var a13415;
+ var a13416;
+ var a13417;
+ var a13418;
+ var a13419;
+ var a13420;
+ var a13421;
+ var a13422;
+ var a13423;
+ var a13424;
+ var a13425;
+ var a13426;
+ var a13427;
+ var a13428;
+ var a13429;
+ var a13430;
+ var a13431;
+ var a13432;
+ var a13433;
+ var a13434;
+ var a13435;
+ var a13436;
+ var a13437;
+ var a13438;
+ var a13439;
+ var a13440;
+ var a13441;
+ var a13442;
+ var a13443;
+ var a13444;
+ var a13445;
+ var a13446;
+ var a13447;
+ var a13448;
+ var a13449;
+ var a13450;
+ var a13451;
+ var a13452;
+ var a13453;
+ var a13454;
+ var a13455;
+ var a13456;
+ var a13457;
+ var a13458;
+ var a13459;
+ var a13460;
+ var a13461;
+ var a13462;
+ var a13463;
+ var a13464;
+ var a13465;
+ var a13466;
+ var a13467;
+ var a13468;
+ var a13469;
+ var a13470;
+ var a13471;
+ var a13472;
+ var a13473;
+ var a13474;
+ var a13475;
+ var a13476;
+ var a13477;
+ var a13478;
+ var a13479;
+ var a13480;
+ var a13481;
+ var a13482;
+ var a13483;
+ var a13484;
+ var a13485;
+ var a13486;
+ var a13487;
+ var a13488;
+ var a13489;
+ var a13490;
+ var a13491;
+ var a13492;
+ var a13493;
+ var a13494;
+ var a13495;
+ var a13496;
+ var a13497;
+ var a13498;
+ var a13499;
+ var a13500;
+ var a13501;
+ var a13502;
+ var a13503;
+ var a13504;
+ var a13505;
+ var a13506;
+ var a13507;
+ var a13508;
+ var a13509;
+ var a13510;
+ var a13511;
+ var a13512;
+ var a13513;
+ var a13514;
+ var a13515;
+ var a13516;
+ var a13517;
+ var a13518;
+ var a13519;
+ var a13520;
+ var a13521;
+ var a13522;
+ var a13523;
+ var a13524;
+ var a13525;
+ var a13526;
+ var a13527;
+ var a13528;
+ var a13529;
+ var a13530;
+ var a13531;
+ var a13532;
+ var a13533;
+ var a13534;
+ var a13535;
+ var a13536;
+ var a13537;
+ var a13538;
+ var a13539;
+ var a13540;
+ var a13541;
+ var a13542;
+ var a13543;
+ var a13544;
+ var a13545;
+ var a13546;
+ var a13547;
+ var a13548;
+ var a13549;
+ var a13550;
+ var a13551;
+ var a13552;
+ var a13553;
+ var a13554;
+ var a13555;
+ var a13556;
+ var a13557;
+ var a13558;
+ var a13559;
+ var a13560;
+ var a13561;
+ var a13562;
+ var a13563;
+ var a13564;
+ var a13565;
+ var a13566;
+ var a13567;
+ var a13568;
+ var a13569;
+ var a13570;
+ var a13571;
+ var a13572;
+ var a13573;
+ var a13574;
+ var a13575;
+ var a13576;
+ var a13577;
+ var a13578;
+ var a13579;
+ var a13580;
+ var a13581;
+ var a13582;
+ var a13583;
+ var a13584;
+ var a13585;
+ var a13586;
+ var a13587;
+ var a13588;
+ var a13589;
+ var a13590;
+ var a13591;
+ var a13592;
+ var a13593;
+ var a13594;
+ var a13595;
+ var a13596;
+ var a13597;
+ var a13598;
+ var a13599;
+ var a13600;
+ var a13601;
+ var a13602;
+ var a13603;
+ var a13604;
+ var a13605;
+ var a13606;
+ var a13607;
+ var a13608;
+ var a13609;
+ var a13610;
+ var a13611;
+ var a13612;
+ var a13613;
+ var a13614;
+ var a13615;
+ var a13616;
+ var a13617;
+ var a13618;
+ var a13619;
+ var a13620;
+ var a13621;
+ var a13622;
+ var a13623;
+ var a13624;
+ var a13625;
+ var a13626;
+ var a13627;
+ var a13628;
+ var a13629;
+ var a13630;
+ var a13631;
+ var a13632;
+ var a13633;
+ var a13634;
+ var a13635;
+ var a13636;
+ var a13637;
+ var a13638;
+ var a13639;
+ var a13640;
+ var a13641;
+ var a13642;
+ var a13643;
+ var a13644;
+ var a13645;
+ var a13646;
+ var a13647;
+ var a13648;
+ var a13649;
+ var a13650;
+ var a13651;
+ var a13652;
+ var a13653;
+ var a13654;
+ var a13655;
+ var a13656;
+ var a13657;
+ var a13658;
+ var a13659;
+ var a13660;
+ var a13661;
+ var a13662;
+ var a13663;
+ var a13664;
+ var a13665;
+ var a13666;
+ var a13667;
+ var a13668;
+ var a13669;
+ var a13670;
+ var a13671;
+ var a13672;
+ var a13673;
+ var a13674;
+ var a13675;
+ var a13676;
+ var a13677;
+ var a13678;
+ var a13679;
+ var a13680;
+ var a13681;
+ var a13682;
+ var a13683;
+ var a13684;
+ var a13685;
+ var a13686;
+ var a13687;
+ var a13688;
+ var a13689;
+ var a13690;
+ var a13691;
+ var a13692;
+ var a13693;
+ var a13694;
+ var a13695;
+ var a13696;
+ var a13697;
+ var a13698;
+ var a13699;
+ var a13700;
+ var a13701;
+ var a13702;
+ var a13703;
+ var a13704;
+ var a13705;
+ var a13706;
+ var a13707;
+ var a13708;
+ var a13709;
+ var a13710;
+ var a13711;
+ var a13712;
+ var a13713;
+ var a13714;
+ var a13715;
+ var a13716;
+ var a13717;
+ var a13718;
+ var a13719;
+ var a13720;
+ var a13721;
+ var a13722;
+ var a13723;
+ var a13724;
+ var a13725;
+ var a13726;
+ var a13727;
+ var a13728;
+ var a13729;
+ var a13730;
+ var a13731;
+ var a13732;
+ var a13733;
+ var a13734;
+ var a13735;
+ var a13736;
+ var a13737;
+ var a13738;
+ var a13739;
+ var a13740;
+ var a13741;
+ var a13742;
+ var a13743;
+ var a13744;
+ var a13745;
+ var a13746;
+ var a13747;
+ var a13748;
+ var a13749;
+ var a13750;
+ var a13751;
+ var a13752;
+ var a13753;
+ var a13754;
+ var a13755;
+ var a13756;
+ var a13757;
+ var a13758;
+ var a13759;
+ var a13760;
+ var a13761;
+ var a13762;
+ var a13763;
+ var a13764;
+ var a13765;
+ var a13766;
+ var a13767;
+ var a13768;
+ var a13769;
+ var a13770;
+ var a13771;
+ var a13772;
+ var a13773;
+ var a13774;
+ var a13775;
+ var a13776;
+ var a13777;
+ var a13778;
+ var a13779;
+ var a13780;
+ var a13781;
+ var a13782;
+ var a13783;
+ var a13784;
+ var a13785;
+ var a13786;
+ var a13787;
+ var a13788;
+ var a13789;
+ var a13790;
+ var a13791;
+ var a13792;
+ var a13793;
+ var a13794;
+ var a13795;
+ var a13796;
+ var a13797;
+ var a13798;
+ var a13799;
+ var a13800;
+ var a13801;
+ var a13802;
+ var a13803;
+ var a13804;
+ var a13805;
+ var a13806;
+ var a13807;
+ var a13808;
+ var a13809;
+ var a13810;
+ var a13811;
+ var a13812;
+ var a13813;
+ var a13814;
+ var a13815;
+ var a13816;
+ var a13817;
+ var a13818;
+ var a13819;
+ var a13820;
+ var a13821;
+ var a13822;
+ var a13823;
+ var a13824;
+ var a13825;
+ var a13826;
+ var a13827;
+ var a13828;
+ var a13829;
+ var a13830;
+ var a13831;
+ var a13832;
+ var a13833;
+ var a13834;
+ var a13835;
+ var a13836;
+ var a13837;
+ var a13838;
+ var a13839;
+ var a13840;
+ var a13841;
+ var a13842;
+ var a13843;
+ var a13844;
+ var a13845;
+ var a13846;
+ var a13847;
+ var a13848;
+ var a13849;
+ var a13850;
+ var a13851;
+ var a13852;
+ var a13853;
+ var a13854;
+ var a13855;
+ var a13856;
+ var a13857;
+ var a13858;
+ var a13859;
+ var a13860;
+ var a13861;
+ var a13862;
+ var a13863;
+ var a13864;
+ var a13865;
+ var a13866;
+ var a13867;
+ var a13868;
+ var a13869;
+ var a13870;
+ var a13871;
+ var a13872;
+ var a13873;
+ var a13874;
+ var a13875;
+ var a13876;
+ var a13877;
+ var a13878;
+ var a13879;
+ var a13880;
+ var a13881;
+ var a13882;
+ var a13883;
+ var a13884;
+ var a13885;
+ var a13886;
+ var a13887;
+ var a13888;
+ var a13889;
+ var a13890;
+ var a13891;
+ var a13892;
+ var a13893;
+ var a13894;
+ var a13895;
+ var a13896;
+ var a13897;
+ var a13898;
+ var a13899;
+ var a13900;
+ var a13901;
+ var a13902;
+ var a13903;
+ var a13904;
+ var a13905;
+ var a13906;
+ var a13907;
+ var a13908;
+ var a13909;
+ var a13910;
+ var a13911;
+ var a13912;
+ var a13913;
+ var a13914;
+ var a13915;
+ var a13916;
+ var a13917;
+ var a13918;
+ var a13919;
+ var a13920;
+ var a13921;
+ var a13922;
+ var a13923;
+ var a13924;
+ var a13925;
+ var a13926;
+ var a13927;
+ var a13928;
+ var a13929;
+ var a13930;
+ var a13931;
+ var a13932;
+ var a13933;
+ var a13934;
+ var a13935;
+ var a13936;
+ var a13937;
+ var a13938;
+ var a13939;
+ var a13940;
+ var a13941;
+ var a13942;
+ var a13943;
+ var a13944;
+ var a13945;
+ var a13946;
+ var a13947;
+ var a13948;
+ var a13949;
+ var a13950;
+ var a13951;
+ var a13952;
+ var a13953;
+ var a13954;
+ var a13955;
+ var a13956;
+ var a13957;
+ var a13958;
+ var a13959;
+ var a13960;
+ var a13961;
+ var a13962;
+ var a13963;
+ var a13964;
+ var a13965;
+ var a13966;
+ var a13967;
+ var a13968;
+ var a13969;
+ var a13970;
+ var a13971;
+ var a13972;
+ var a13973;
+ var a13974;
+ var a13975;
+ var a13976;
+ var a13977;
+ var a13978;
+ var a13979;
+ var a13980;
+ var a13981;
+ var a13982;
+ var a13983;
+ var a13984;
+ var a13985;
+ var a13986;
+ var a13987;
+ var a13988;
+ var a13989;
+ var a13990;
+ var a13991;
+ var a13992;
+ var a13993;
+ var a13994;
+ var a13995;
+ var a13996;
+ var a13997;
+ var a13998;
+ var a13999;
+ var a14000;
+ var a14001;
+ var a14002;
+ var a14003;
+ var a14004;
+ var a14005;
+ var a14006;
+ var a14007;
+ var a14008;
+ var a14009;
+ var a14010;
+ var a14011;
+ var a14012;
+ var a14013;
+ var a14014;
+ var a14015;
+ var a14016;
+ var a14017;
+ var a14018;
+ var a14019;
+ var a14020;
+ var a14021;
+ var a14022;
+ var a14023;
+ var a14024;
+ var a14025;
+ var a14026;
+ var a14027;
+ var a14028;
+ var a14029;
+ var a14030;
+ var a14031;
+ var a14032;
+ var a14033;
+ var a14034;
+ var a14035;
+ var a14036;
+ var a14037;
+ var a14038;
+ var a14039;
+ var a14040;
+ var a14041;
+ var a14042;
+ var a14043;
+ var a14044;
+ var a14045;
+ var a14046;
+ var a14047;
+ var a14048;
+ var a14049;
+ var a14050;
+ var a14051;
+ var a14052;
+ var a14053;
+ var a14054;
+ var a14055;
+ var a14056;
+ var a14057;
+ var a14058;
+ var a14059;
+ var a14060;
+ var a14061;
+ var a14062;
+ var a14063;
+ var a14064;
+ var a14065;
+ var a14066;
+ var a14067;
+ var a14068;
+ var a14069;
+ var a14070;
+ var a14071;
+ var a14072;
+ var a14073;
+ var a14074;
+ var a14075;
+ var a14076;
+ var a14077;
+ var a14078;
+ var a14079;
+ var a14080;
+ var a14081;
+ var a14082;
+ var a14083;
+ var a14084;
+ var a14085;
+ var a14086;
+ var a14087;
+ var a14088;
+ var a14089;
+ var a14090;
+ var a14091;
+ var a14092;
+ var a14093;
+ var a14094;
+ var a14095;
+ var a14096;
+ var a14097;
+ var a14098;
+ var a14099;
+ var a14100;
+ var a14101;
+ var a14102;
+ var a14103;
+ var a14104;
+ var a14105;
+ var a14106;
+ var a14107;
+ var a14108;
+ var a14109;
+ var a14110;
+ var a14111;
+ var a14112;
+ var a14113;
+ var a14114;
+ var a14115;
+ var a14116;
+ var a14117;
+ var a14118;
+ var a14119;
+ var a14120;
+ var a14121;
+ var a14122;
+ var a14123;
+ var a14124;
+ var a14125;
+ var a14126;
+ var a14127;
+ var a14128;
+ var a14129;
+ var a14130;
+ var a14131;
+ var a14132;
+ var a14133;
+ var a14134;
+ var a14135;
+ var a14136;
+ var a14137;
+ var a14138;
+ var a14139;
+ var a14140;
+ var a14141;
+ var a14142;
+ var a14143;
+ var a14144;
+ var a14145;
+ var a14146;
+ var a14147;
+ var a14148;
+ var a14149;
+ var a14150;
+ var a14151;
+ var a14152;
+ var a14153;
+ var a14154;
+ var a14155;
+ var a14156;
+ var a14157;
+ var a14158;
+ var a14159;
+ var a14160;
+ var a14161;
+ var a14162;
+ var a14163;
+ var a14164;
+ var a14165;
+ var a14166;
+ var a14167;
+ var a14168;
+ var a14169;
+ var a14170;
+ var a14171;
+ var a14172;
+ var a14173;
+ var a14174;
+ var a14175;
+ var a14176;
+ var a14177;
+ var a14178;
+ var a14179;
+ var a14180;
+ var a14181;
+ var a14182;
+ var a14183;
+ var a14184;
+ var a14185;
+ var a14186;
+ var a14187;
+ var a14188;
+ var a14189;
+ var a14190;
+ var a14191;
+ var a14192;
+ var a14193;
+ var a14194;
+ var a14195;
+ var a14196;
+ var a14197;
+ var a14198;
+ var a14199;
+ var a14200;
+ var a14201;
+ var a14202;
+ var a14203;
+ var a14204;
+ var a14205;
+ var a14206;
+ var a14207;
+ var a14208;
+ var a14209;
+ var a14210;
+ var a14211;
+ var a14212;
+ var a14213;
+ var a14214;
+ var a14215;
+ var a14216;
+ var a14217;
+ var a14218;
+ var a14219;
+ var a14220;
+ var a14221;
+ var a14222;
+ var a14223;
+ var a14224;
+ var a14225;
+ var a14226;
+ var a14227;
+ var a14228;
+ var a14229;
+ var a14230;
+ var a14231;
+ var a14232;
+ var a14233;
+ var a14234;
+ var a14235;
+ var a14236;
+ var a14237;
+ var a14238;
+ var a14239;
+ var a14240;
+ var a14241;
+ var a14242;
+ var a14243;
+ var a14244;
+ var a14245;
+ var a14246;
+ var a14247;
+ var a14248;
+ var a14249;
+ var a14250;
+ var a14251;
+ var a14252;
+ var a14253;
+ var a14254;
+ var a14255;
+ var a14256;
+ var a14257;
+ var a14258;
+ var a14259;
+ var a14260;
+ var a14261;
+ var a14262;
+ var a14263;
+ var a14264;
+ var a14265;
+ var a14266;
+ var a14267;
+ var a14268;
+ var a14269;
+ var a14270;
+ var a14271;
+ var a14272;
+ var a14273;
+ var a14274;
+ var a14275;
+ var a14276;
+ var a14277;
+ var a14278;
+ var a14279;
+ var a14280;
+ var a14281;
+ var a14282;
+ var a14283;
+ var a14284;
+ var a14285;
+ var a14286;
+ var a14287;
+ var a14288;
+ var a14289;
+ var a14290;
+ var a14291;
+ var a14292;
+ var a14293;
+ var a14294;
+ var a14295;
+ var a14296;
+ var a14297;
+ var a14298;
+ var a14299;
+ var a14300;
+ var a14301;
+ var a14302;
+ var a14303;
+ var a14304;
+ var a14305;
+ var a14306;
+ var a14307;
+ var a14308;
+ var a14309;
+ var a14310;
+ var a14311;
+ var a14312;
+ var a14313;
+ var a14314;
+ var a14315;
+ var a14316;
+ var a14317;
+ var a14318;
+ var a14319;
+ var a14320;
+ var a14321;
+ var a14322;
+ var a14323;
+ var a14324;
+ var a14325;
+ var a14326;
+ var a14327;
+ var a14328;
+ var a14329;
+ var a14330;
+ var a14331;
+ var a14332;
+ var a14333;
+ var a14334;
+ var a14335;
+ var a14336;
+ var a14337;
+ var a14338;
+ var a14339;
+ var a14340;
+ var a14341;
+ var a14342;
+ var a14343;
+ var a14344;
+ var a14345;
+ var a14346;
+ var a14347;
+ var a14348;
+ var a14349;
+ var a14350;
+ var a14351;
+ var a14352;
+ var a14353;
+ var a14354;
+ var a14355;
+ var a14356;
+ var a14357;
+ var a14358;
+ var a14359;
+ var a14360;
+ var a14361;
+ var a14362;
+ var a14363;
+ var a14364;
+ var a14365;
+ var a14366;
+ var a14367;
+ var a14368;
+ var a14369;
+ var a14370;
+ var a14371;
+ var a14372;
+ var a14373;
+ var a14374;
+ var a14375;
+ var a14376;
+ var a14377;
+ var a14378;
+ var a14379;
+ var a14380;
+ var a14381;
+ var a14382;
+ var a14383;
+ var a14384;
+ var a14385;
+ var a14386;
+ var a14387;
+ var a14388;
+ var a14389;
+ var a14390;
+ var a14391;
+ var a14392;
+ var a14393;
+ var a14394;
+ var a14395;
+ var a14396;
+ var a14397;
+ var a14398;
+ var a14399;
+ var a14400;
+ var a14401;
+ var a14402;
+ var a14403;
+ var a14404;
+ var a14405;
+ var a14406;
+ var a14407;
+ var a14408;
+ var a14409;
+ var a14410;
+ var a14411;
+ var a14412;
+ var a14413;
+ var a14414;
+ var a14415;
+ var a14416;
+ var a14417;
+ var a14418;
+ var a14419;
+ var a14420;
+ var a14421;
+ var a14422;
+ var a14423;
+ var a14424;
+ var a14425;
+ var a14426;
+ var a14427;
+ var a14428;
+ var a14429;
+ var a14430;
+ var a14431;
+ var a14432;
+ var a14433;
+ var a14434;
+ var a14435;
+ var a14436;
+ var a14437;
+ var a14438;
+ var a14439;
+ var a14440;
+ var a14441;
+ var a14442;
+ var a14443;
+ var a14444;
+ var a14445;
+ var a14446;
+ var a14447;
+ var a14448;
+ var a14449;
+ var a14450;
+ var a14451;
+ var a14452;
+ var a14453;
+ var a14454;
+ var a14455;
+ var a14456;
+ var a14457;
+ var a14458;
+ var a14459;
+ var a14460;
+ var a14461;
+ var a14462;
+ var a14463;
+ var a14464;
+ var a14465;
+ var a14466;
+ var a14467;
+ var a14468;
+ var a14469;
+ var a14470;
+ var a14471;
+ var a14472;
+ var a14473;
+ var a14474;
+ var a14475;
+ var a14476;
+ var a14477;
+ var a14478;
+ var a14479;
+ var a14480;
+ var a14481;
+ var a14482;
+ var a14483;
+ var a14484;
+ var a14485;
+ var a14486;
+ var a14487;
+ var a14488;
+ var a14489;
+ var a14490;
+ var a14491;
+ var a14492;
+ var a14493;
+ var a14494;
+ var a14495;
+ var a14496;
+ var a14497;
+ var a14498;
+ var a14499;
+ var a14500;
+ var a14501;
+ var a14502;
+ var a14503;
+ var a14504;
+ var a14505;
+ var a14506;
+ var a14507;
+ var a14508;
+ var a14509;
+ var a14510;
+ var a14511;
+ var a14512;
+ var a14513;
+ var a14514;
+ var a14515;
+ var a14516;
+ var a14517;
+ var a14518;
+ var a14519;
+ var a14520;
+ var a14521;
+ var a14522;
+ var a14523;
+ var a14524;
+ var a14525;
+ var a14526;
+ var a14527;
+ var a14528;
+ var a14529;
+ var a14530;
+ var a14531;
+ var a14532;
+ var a14533;
+ var a14534;
+ var a14535;
+ var a14536;
+ var a14537;
+ var a14538;
+ var a14539;
+ var a14540;
+ var a14541;
+ var a14542;
+ var a14543;
+ var a14544;
+ var a14545;
+ var a14546;
+ var a14547;
+ var a14548;
+ var a14549;
+ var a14550;
+ var a14551;
+ var a14552;
+ var a14553;
+ var a14554;
+ var a14555;
+ var a14556;
+ var a14557;
+ var a14558;
+ var a14559;
+ var a14560;
+ var a14561;
+ var a14562;
+ var a14563;
+ var a14564;
+ var a14565;
+ var a14566;
+ var a14567;
+ var a14568;
+ var a14569;
+ var a14570;
+ var a14571;
+ var a14572;
+ var a14573;
+ var a14574;
+ var a14575;
+ var a14576;
+ var a14577;
+ var a14578;
+ var a14579;
+ var a14580;
+ var a14581;
+ var a14582;
+ var a14583;
+ var a14584;
+ var a14585;
+ var a14586;
+ var a14587;
+ var a14588;
+ var a14589;
+ var a14590;
+ var a14591;
+ var a14592;
+ var a14593;
+ var a14594;
+ var a14595;
+ var a14596;
+ var a14597;
+ var a14598;
+ var a14599;
+ var a14600;
+ var a14601;
+ var a14602;
+ var a14603;
+ var a14604;
+ var a14605;
+ var a14606;
+ var a14607;
+ var a14608;
+ var a14609;
+ var a14610;
+ var a14611;
+ var a14612;
+ var a14613;
+ var a14614;
+ var a14615;
+ var a14616;
+ var a14617;
+ var a14618;
+ var a14619;
+ var a14620;
+ var a14621;
+ var a14622;
+ var a14623;
+ var a14624;
+ var a14625;
+ var a14626;
+ var a14627;
+ var a14628;
+ var a14629;
+ var a14630;
+ var a14631;
+ var a14632;
+ var a14633;
+ var a14634;
+ var a14635;
+ var a14636;
+ var a14637;
+ var a14638;
+ var a14639;
+ var a14640;
+ var a14641;
+ var a14642;
+ var a14643;
+ var a14644;
+ var a14645;
+ var a14646;
+ var a14647;
+ var a14648;
+ var a14649;
+ var a14650;
+ var a14651;
+ var a14652;
+ var a14653;
+ var a14654;
+ var a14655;
+ var a14656;
+ var a14657;
+ var a14658;
+ var a14659;
+ var a14660;
+ var a14661;
+ var a14662;
+ var a14663;
+ var a14664;
+ var a14665;
+ var a14666;
+ var a14667;
+ var a14668;
+ var a14669;
+ var a14670;
+ var a14671;
+ var a14672;
+ var a14673;
+ var a14674;
+ var a14675;
+ var a14676;
+ var a14677;
+ var a14678;
+ var a14679;
+ var a14680;
+ var a14681;
+ var a14682;
+ var a14683;
+ var a14684;
+ var a14685;
+ var a14686;
+ var a14687;
+ var a14688;
+ var a14689;
+ var a14690;
+ var a14691;
+ var a14692;
+ var a14693;
+ var a14694;
+ var a14695;
+ var a14696;
+ var a14697;
+ var a14698;
+ var a14699;
+ var a14700;
+ var a14701;
+ var a14702;
+ var a14703;
+ var a14704;
+ var a14705;
+ var a14706;
+ var a14707;
+ var a14708;
+ var a14709;
+ var a14710;
+ var a14711;
+ var a14712;
+ var a14713;
+ var a14714;
+ var a14715;
+ var a14716;
+ var a14717;
+ var a14718;
+ var a14719;
+ var a14720;
+ var a14721;
+ var a14722;
+ var a14723;
+ var a14724;
+ var a14725;
+ var a14726;
+ var a14727;
+ var a14728;
+ var a14729;
+ var a14730;
+ var a14731;
+ var a14732;
+ var a14733;
+ var a14734;
+ var a14735;
+ var a14736;
+ var a14737;
+ var a14738;
+ var a14739;
+ var a14740;
+ var a14741;
+ var a14742;
+ var a14743;
+ var a14744;
+ var a14745;
+ var a14746;
+ var a14747;
+ var a14748;
+ var a14749;
+ var a14750;
+ var a14751;
+ var a14752;
+ var a14753;
+ var a14754;
+ var a14755;
+ var a14756;
+ var a14757;
+ var a14758;
+ var a14759;
+ var a14760;
+ var a14761;
+ var a14762;
+ var a14763;
+ var a14764;
+ var a14765;
+ var a14766;
+ var a14767;
+ var a14768;
+ var a14769;
+ var a14770;
+ var a14771;
+ var a14772;
+ var a14773;
+ var a14774;
+ var a14775;
+ var a14776;
+ var a14777;
+ var a14778;
+ var a14779;
+ var a14780;
+ var a14781;
+ var a14782;
+ var a14783;
+ var a14784;
+ var a14785;
+ var a14786;
+ var a14787;
+ var a14788;
+ var a14789;
+ var a14790;
+ var a14791;
+ var a14792;
+ var a14793;
+ var a14794;
+ var a14795;
+ var a14796;
+ var a14797;
+ var a14798;
+ var a14799;
+ var a14800;
+ var a14801;
+ var a14802;
+ var a14803;
+ var a14804;
+ var a14805;
+ var a14806;
+ var a14807;
+ var a14808;
+ var a14809;
+ var a14810;
+ var a14811;
+ var a14812;
+ var a14813;
+ var a14814;
+ var a14815;
+ var a14816;
+ var a14817;
+ var a14818;
+ var a14819;
+ var a14820;
+ var a14821;
+ var a14822;
+ var a14823;
+ var a14824;
+ var a14825;
+ var a14826;
+ var a14827;
+ var a14828;
+ var a14829;
+ var a14830;
+ var a14831;
+ var a14832;
+ var a14833;
+ var a14834;
+ var a14835;
+ var a14836;
+ var a14837;
+ var a14838;
+ var a14839;
+ var a14840;
+ var a14841;
+ var a14842;
+ var a14843;
+ var a14844;
+ var a14845;
+ var a14846;
+ var a14847;
+ var a14848;
+ var a14849;
+ var a14850;
+ var a14851;
+ var a14852;
+ var a14853;
+ var a14854;
+ var a14855;
+ var a14856;
+ var a14857;
+ var a14858;
+ var a14859;
+ var a14860;
+ var a14861;
+ var a14862;
+ var a14863;
+ var a14864;
+ var a14865;
+ var a14866;
+ var a14867;
+ var a14868;
+ var a14869;
+ var a14870;
+ var a14871;
+ var a14872;
+ var a14873;
+ var a14874;
+ var a14875;
+ var a14876;
+ var a14877;
+ var a14878;
+ var a14879;
+ var a14880;
+ var a14881;
+ var a14882;
+ var a14883;
+ var a14884;
+ var a14885;
+ var a14886;
+ var a14887;
+ var a14888;
+ var a14889;
+ var a14890;
+ var a14891;
+ var a14892;
+ var a14893;
+ var a14894;
+ var a14895;
+ var a14896;
+ var a14897;
+ var a14898;
+ var a14899;
+ var a14900;
+ var a14901;
+ var a14902;
+ var a14903;
+ var a14904;
+ var a14905;
+ var a14906;
+ var a14907;
+ var a14908;
+ var a14909;
+ var a14910;
+ var a14911;
+ var a14912;
+ var a14913;
+ var a14914;
+ var a14915;
+ var a14916;
+ var a14917;
+ var a14918;
+ var a14919;
+ var a14920;
+ var a14921;
+ var a14922;
+ var a14923;
+ var a14924;
+ var a14925;
+ var a14926;
+ var a14927;
+ var a14928;
+ var a14929;
+ var a14930;
+ var a14931;
+ var a14932;
+ var a14933;
+ var a14934;
+ var a14935;
+ var a14936;
+ var a14937;
+ var a14938;
+ var a14939;
+ var a14940;
+ var a14941;
+ var a14942;
+ var a14943;
+ var a14944;
+ var a14945;
+ var a14946;
+ var a14947;
+ var a14948;
+ var a14949;
+ var a14950;
+ var a14951;
+ var a14952;
+ var a14953;
+ var a14954;
+ var a14955;
+ var a14956;
+ var a14957;
+ var a14958;
+ var a14959;
+ var a14960;
+ var a14961;
+ var a14962;
+ var a14963;
+ var a14964;
+ var a14965;
+ var a14966;
+ var a14967;
+ var a14968;
+ var a14969;
+ var a14970;
+ var a14971;
+ var a14972;
+ var a14973;
+ var a14974;
+ var a14975;
+ var a14976;
+ var a14977;
+ var a14978;
+ var a14979;
+ var a14980;
+ var a14981;
+ var a14982;
+ var a14983;
+ var a14984;
+ var a14985;
+ var a14986;
+ var a14987;
+ var a14988;
+ var a14989;
+ var a14990;
+ var a14991;
+ var a14992;
+ var a14993;
+ var a14994;
+ var a14995;
+ var a14996;
+ var a14997;
+ var a14998;
+ var a14999;
+ var a15000;
+ var a15001;
+ var a15002;
+ var a15003;
+ var a15004;
+ var a15005;
+ var a15006;
+ var a15007;
+ var a15008;
+ var a15009;
+ var a15010;
+ var a15011;
+ var a15012;
+ var a15013;
+ var a15014;
+ var a15015;
+ var a15016;
+ var a15017;
+ var a15018;
+ var a15019;
+ var a15020;
+ var a15021;
+ var a15022;
+ var a15023;
+ var a15024;
+ var a15025;
+ var a15026;
+ var a15027;
+ var a15028;
+ var a15029;
+ var a15030;
+ var a15031;
+ var a15032;
+ var a15033;
+ var a15034;
+ var a15035;
+ var a15036;
+ var a15037;
+ var a15038;
+ var a15039;
+ var a15040;
+ var a15041;
+ var a15042;
+ var a15043;
+ var a15044;
+ var a15045;
+ var a15046;
+ var a15047;
+ var a15048;
+ var a15049;
+ var a15050;
+ var a15051;
+ var a15052;
+ var a15053;
+ var a15054;
+ var a15055;
+ var a15056;
+ var a15057;
+ var a15058;
+ var a15059;
+ var a15060;
+ var a15061;
+ var a15062;
+ var a15063;
+ var a15064;
+ var a15065;
+ var a15066;
+ var a15067;
+ var a15068;
+ var a15069;
+ var a15070;
+ var a15071;
+ var a15072;
+ var a15073;
+ var a15074;
+ var a15075;
+ var a15076;
+ var a15077;
+ var a15078;
+ var a15079;
+ var a15080;
+ var a15081;
+ var a15082;
+ var a15083;
+ var a15084;
+ var a15085;
+ var a15086;
+ var a15087;
+ var a15088;
+ var a15089;
+ var a15090;
+ var a15091;
+ var a15092;
+ var a15093;
+ var a15094;
+ var a15095;
+ var a15096;
+ var a15097;
+ var a15098;
+ var a15099;
+ var a15100;
+ var a15101;
+ var a15102;
+ var a15103;
+ var a15104;
+ var a15105;
+ var a15106;
+ var a15107;
+ var a15108;
+ var a15109;
+ var a15110;
+ var a15111;
+ var a15112;
+ var a15113;
+ var a15114;
+ var a15115;
+ var a15116;
+ var a15117;
+ var a15118;
+ var a15119;
+ var a15120;
+ var a15121;
+ var a15122;
+ var a15123;
+ var a15124;
+ var a15125;
+ var a15126;
+ var a15127;
+ var a15128;
+ var a15129;
+ var a15130;
+ var a15131;
+ var a15132;
+ var a15133;
+ var a15134;
+ var a15135;
+ var a15136;
+ var a15137;
+ var a15138;
+ var a15139;
+ var a15140;
+ var a15141;
+ var a15142;
+ var a15143;
+ var a15144;
+ var a15145;
+ var a15146;
+ var a15147;
+ var a15148;
+ var a15149;
+ var a15150;
+ var a15151;
+ var a15152;
+ var a15153;
+ var a15154;
+ var a15155;
+ var a15156;
+ var a15157;
+ var a15158;
+ var a15159;
+ var a15160;
+ var a15161;
+ var a15162;
+ var a15163;
+ var a15164;
+ var a15165;
+ var a15166;
+ var a15167;
+ var a15168;
+ var a15169;
+ var a15170;
+ var a15171;
+ var a15172;
+ var a15173;
+ var a15174;
+ var a15175;
+ var a15176;
+ var a15177;
+ var a15178;
+ var a15179;
+ var a15180;
+ var a15181;
+ var a15182;
+ var a15183;
+ var a15184;
+ var a15185;
+ var a15186;
+ var a15187;
+ var a15188;
+ var a15189;
+ var a15190;
+ var a15191;
+ var a15192;
+ var a15193;
+ var a15194;
+ var a15195;
+ var a15196;
+ var a15197;
+ var a15198;
+ var a15199;
+ var a15200;
+ var a15201;
+ var a15202;
+ var a15203;
+ var a15204;
+ var a15205;
+ var a15206;
+ var a15207;
+ var a15208;
+ var a15209;
+ var a15210;
+ var a15211;
+ var a15212;
+ var a15213;
+ var a15214;
+ var a15215;
+ var a15216;
+ var a15217;
+ var a15218;
+ var a15219;
+ var a15220;
+ var a15221;
+ var a15222;
+ var a15223;
+ var a15224;
+ var a15225;
+ var a15226;
+ var a15227;
+ var a15228;
+ var a15229;
+ var a15230;
+ var a15231;
+ var a15232;
+ var a15233;
+ var a15234;
+ var a15235;
+ var a15236;
+ var a15237;
+ var a15238;
+ var a15239;
+ var a15240;
+ var a15241;
+ var a15242;
+ var a15243;
+ var a15244;
+ var a15245;
+ var a15246;
+ var a15247;
+ var a15248;
+ var a15249;
+ var a15250;
+ var a15251;
+ var a15252;
+ var a15253;
+ var a15254;
+ var a15255;
+ var a15256;
+ var a15257;
+ var a15258;
+ var a15259;
+ var a15260;
+ var a15261;
+ var a15262;
+ var a15263;
+ var a15264;
+ var a15265;
+ var a15266;
+ var a15267;
+ var a15268;
+ var a15269;
+ var a15270;
+ var a15271;
+ var a15272;
+ var a15273;
+ var a15274;
+ var a15275;
+ var a15276;
+ var a15277;
+ var a15278;
+ var a15279;
+ var a15280;
+ var a15281;
+ var a15282;
+ var a15283;
+ var a15284;
+ var a15285;
+ var a15286;
+ var a15287;
+ var a15288;
+ var a15289;
+ var a15290;
+ var a15291;
+ var a15292;
+ var a15293;
+ var a15294;
+ var a15295;
+ var a15296;
+ var a15297;
+ var a15298;
+ var a15299;
+ var a15300;
+ var a15301;
+ var a15302;
+ var a15303;
+ var a15304;
+ var a15305;
+ var a15306;
+ var a15307;
+ var a15308;
+ var a15309;
+ var a15310;
+ var a15311;
+ var a15312;
+ var a15313;
+ var a15314;
+ var a15315;
+ var a15316;
+ var a15317;
+ var a15318;
+ var a15319;
+ var a15320;
+ var a15321;
+ var a15322;
+ var a15323;
+ var a15324;
+ var a15325;
+ var a15326;
+ var a15327;
+ var a15328;
+ var a15329;
+ var a15330;
+ var a15331;
+ var a15332;
+ var a15333;
+ var a15334;
+ var a15335;
+ var a15336;
+ var a15337;
+ var a15338;
+ var a15339;
+ var a15340;
+ var a15341;
+ var a15342;
+ var a15343;
+ var a15344;
+ var a15345;
+ var a15346;
+ var a15347;
+ var a15348;
+ var a15349;
+ var a15350;
+ var a15351;
+ var a15352;
+ var a15353;
+ var a15354;
+ var a15355;
+ var a15356;
+ var a15357;
+ var a15358;
+ var a15359;
+ var a15360;
+ var a15361;
+ var a15362;
+ var a15363;
+ var a15364;
+ var a15365;
+ var a15366;
+ var a15367;
+ var a15368;
+ var a15369;
+ var a15370;
+ var a15371;
+ var a15372;
+ var a15373;
+ var a15374;
+ var a15375;
+ var a15376;
+ var a15377;
+ var a15378;
+ var a15379;
+ var a15380;
+ var a15381;
+ var a15382;
+ var a15383;
+ var a15384;
+ var a15385;
+ var a15386;
+ var a15387;
+ var a15388;
+ var a15389;
+ var a15390;
+ var a15391;
+ var a15392;
+ var a15393;
+ var a15394;
+ var a15395;
+ var a15396;
+ var a15397;
+ var a15398;
+ var a15399;
+ var a15400;
+ var a15401;
+ var a15402;
+ var a15403;
+ var a15404;
+ var a15405;
+ var a15406;
+ var a15407;
+ var a15408;
+ var a15409;
+ var a15410;
+ var a15411;
+ var a15412;
+ var a15413;
+ var a15414;
+ var a15415;
+ var a15416;
+ var a15417;
+ var a15418;
+ var a15419;
+ var a15420;
+ var a15421;
+ var a15422;
+ var a15423;
+ var a15424;
+ var a15425;
+ var a15426;
+ var a15427;
+ var a15428;
+ var a15429;
+ var a15430;
+ var a15431;
+ var a15432;
+ var a15433;
+ var a15434;
+ var a15435;
+ var a15436;
+ var a15437;
+ var a15438;
+ var a15439;
+ var a15440;
+ var a15441;
+ var a15442;
+ var a15443;
+ var a15444;
+ var a15445;
+ var a15446;
+ var a15447;
+ var a15448;
+ var a15449;
+ var a15450;
+ var a15451;
+ var a15452;
+ var a15453;
+ var a15454;
+ var a15455;
+ var a15456;
+ var a15457;
+ var a15458;
+ var a15459;
+ var a15460;
+ var a15461;
+ var a15462;
+ var a15463;
+ var a15464;
+ var a15465;
+ var a15466;
+ var a15467;
+ var a15468;
+ var a15469;
+ var a15470;
+ var a15471;
+ var a15472;
+ var a15473;
+ var a15474;
+ var a15475;
+ var a15476;
+ var a15477;
+ var a15478;
+ var a15479;
+ var a15480;
+ var a15481;
+ var a15482;
+ var a15483;
+ var a15484;
+ var a15485;
+ var a15486;
+ var a15487;
+ var a15488;
+ var a15489;
+ var a15490;
+ var a15491;
+ var a15492;
+ var a15493;
+ var a15494;
+ var a15495;
+ var a15496;
+ var a15497;
+ var a15498;
+ var a15499;
+ var a15500;
+ var a15501;
+ var a15502;
+ var a15503;
+ var a15504;
+ var a15505;
+ var a15506;
+ var a15507;
+ var a15508;
+ var a15509;
+ var a15510;
+ var a15511;
+ var a15512;
+ var a15513;
+ var a15514;
+ var a15515;
+ var a15516;
+ var a15517;
+ var a15518;
+ var a15519;
+ var a15520;
+ var a15521;
+ var a15522;
+ var a15523;
+ var a15524;
+ var a15525;
+ var a15526;
+ var a15527;
+ var a15528;
+ var a15529;
+ var a15530;
+ var a15531;
+ var a15532;
+ var a15533;
+ var a15534;
+ var a15535;
+ var a15536;
+ var a15537;
+ var a15538;
+ var a15539;
+ var a15540;
+ var a15541;
+ var a15542;
+ var a15543;
+ var a15544;
+ var a15545;
+ var a15546;
+ var a15547;
+ var a15548;
+ var a15549;
+ var a15550;
+ var a15551;
+ var a15552;
+ var a15553;
+ var a15554;
+ var a15555;
+ var a15556;
+ var a15557;
+ var a15558;
+ var a15559;
+ var a15560;
+ var a15561;
+ var a15562;
+ var a15563;
+ var a15564;
+ var a15565;
+ var a15566;
+ var a15567;
+ var a15568;
+ var a15569;
+ var a15570;
+ var a15571;
+ var a15572;
+ var a15573;
+ var a15574;
+ var a15575;
+ var a15576;
+ var a15577;
+ var a15578;
+ var a15579;
+ var a15580;
+ var a15581;
+ var a15582;
+ var a15583;
+ var a15584;
+ var a15585;
+ var a15586;
+ var a15587;
+ var a15588;
+ var a15589;
+ var a15590;
+ var a15591;
+ var a15592;
+ var a15593;
+ var a15594;
+ var a15595;
+ var a15596;
+ var a15597;
+ var a15598;
+ var a15599;
+ var a15600;
+ var a15601;
+ var a15602;
+ var a15603;
+ var a15604;
+ var a15605;
+ var a15606;
+ var a15607;
+ var a15608;
+ var a15609;
+ var a15610;
+ var a15611;
+ var a15612;
+ var a15613;
+ var a15614;
+ var a15615;
+ var a15616;
+ var a15617;
+ var a15618;
+ var a15619;
+ var a15620;
+ var a15621;
+ var a15622;
+ var a15623;
+ var a15624;
+ var a15625;
+ var a15626;
+ var a15627;
+ var a15628;
+ var a15629;
+ var a15630;
+ var a15631;
+ var a15632;
+ var a15633;
+ var a15634;
+ var a15635;
+ var a15636;
+ var a15637;
+ var a15638;
+ var a15639;
+ var a15640;
+ var a15641;
+ var a15642;
+ var a15643;
+ var a15644;
+ var a15645;
+ var a15646;
+ var a15647;
+ var a15648;
+ var a15649;
+ var a15650;
+ var a15651;
+ var a15652;
+ var a15653;
+ var a15654;
+ var a15655;
+ var a15656;
+ var a15657;
+ var a15658;
+ var a15659;
+ var a15660;
+ var a15661;
+ var a15662;
+ var a15663;
+ var a15664;
+ var a15665;
+ var a15666;
+ var a15667;
+ var a15668;
+ var a15669;
+ var a15670;
+ var a15671;
+ var a15672;
+ var a15673;
+ var a15674;
+ var a15675;
+ var a15676;
+ var a15677;
+ var a15678;
+ var a15679;
+ var a15680;
+ var a15681;
+ var a15682;
+ var a15683;
+ var a15684;
+ var a15685;
+ var a15686;
+ var a15687;
+ var a15688;
+ var a15689;
+ var a15690;
+ var a15691;
+ var a15692;
+ var a15693;
+ var a15694;
+ var a15695;
+ var a15696;
+ var a15697;
+ var a15698;
+ var a15699;
+ var a15700;
+ var a15701;
+ var a15702;
+ var a15703;
+ var a15704;
+ var a15705;
+ var a15706;
+ var a15707;
+ var a15708;
+ var a15709;
+ var a15710;
+ var a15711;
+ var a15712;
+ var a15713;
+ var a15714;
+ var a15715;
+ var a15716;
+ var a15717;
+ var a15718;
+ var a15719;
+ var a15720;
+ var a15721;
+ var a15722;
+ var a15723;
+ var a15724;
+ var a15725;
+ var a15726;
+ var a15727;
+ var a15728;
+ var a15729;
+ var a15730;
+ var a15731;
+ var a15732;
+ var a15733;
+ var a15734;
+ var a15735;
+ var a15736;
+ var a15737;
+ var a15738;
+ var a15739;
+ var a15740;
+ var a15741;
+ var a15742;
+ var a15743;
+ var a15744;
+ var a15745;
+ var a15746;
+ var a15747;
+ var a15748;
+ var a15749;
+ var a15750;
+ var a15751;
+ var a15752;
+ var a15753;
+ var a15754;
+ var a15755;
+ var a15756;
+ var a15757;
+ var a15758;
+ var a15759;
+ var a15760;
+ var a15761;
+ var a15762;
+ var a15763;
+ var a15764;
+ var a15765;
+ var a15766;
+ var a15767;
+ var a15768;
+ var a15769;
+ var a15770;
+ var a15771;
+ var a15772;
+ var a15773;
+ var a15774;
+ var a15775;
+ var a15776;
+ var a15777;
+ var a15778;
+ var a15779;
+ var a15780;
+ var a15781;
+ var a15782;
+ var a15783;
+ var a15784;
+ var a15785;
+ var a15786;
+ var a15787;
+ var a15788;
+ var a15789;
+ var a15790;
+ var a15791;
+ var a15792;
+ var a15793;
+ var a15794;
+ var a15795;
+ var a15796;
+ var a15797;
+ var a15798;
+ var a15799;
+ var a15800;
+ var a15801;
+ var a15802;
+ var a15803;
+ var a15804;
+ var a15805;
+ var a15806;
+ var a15807;
+ var a15808;
+ var a15809;
+ var a15810;
+ var a15811;
+ var a15812;
+ var a15813;
+ var a15814;
+ var a15815;
+ var a15816;
+ var a15817;
+ var a15818;
+ var a15819;
+ var a15820;
+ var a15821;
+ var a15822;
+ var a15823;
+ var a15824;
+ var a15825;
+ var a15826;
+ var a15827;
+ var a15828;
+ var a15829;
+ var a15830;
+ var a15831;
+ var a15832;
+ var a15833;
+ var a15834;
+ var a15835;
+ var a15836;
+ var a15837;
+ var a15838;
+ var a15839;
+ var a15840;
+ var a15841;
+ var a15842;
+ var a15843;
+ var a15844;
+ var a15845;
+ var a15846;
+ var a15847;
+ var a15848;
+ var a15849;
+ var a15850;
+ var a15851;
+ var a15852;
+ var a15853;
+ var a15854;
+ var a15855;
+ var a15856;
+ var a15857;
+ var a15858;
+ var a15859;
+ var a15860;
+ var a15861;
+ var a15862;
+ var a15863;
+ var a15864;
+ var a15865;
+ var a15866;
+ var a15867;
+ var a15868;
+ var a15869;
+ var a15870;
+ var a15871;
+ var a15872;
+ var a15873;
+ var a15874;
+ var a15875;
+ var a15876;
+ var a15877;
+ var a15878;
+ var a15879;
+ var a15880;
+ var a15881;
+ var a15882;
+ var a15883;
+ var a15884;
+ var a15885;
+ var a15886;
+ var a15887;
+ var a15888;
+ var a15889;
+ var a15890;
+ var a15891;
+ var a15892;
+ var a15893;
+ var a15894;
+ var a15895;
+ var a15896;
+ var a15897;
+ var a15898;
+ var a15899;
+ var a15900;
+ var a15901;
+ var a15902;
+ var a15903;
+ var a15904;
+ var a15905;
+ var a15906;
+ var a15907;
+ var a15908;
+ var a15909;
+ var a15910;
+ var a15911;
+ var a15912;
+ var a15913;
+ var a15914;
+ var a15915;
+ var a15916;
+ var a15917;
+ var a15918;
+ var a15919;
+ var a15920;
+ var a15921;
+ var a15922;
+ var a15923;
+ var a15924;
+ var a15925;
+ var a15926;
+ var a15927;
+ var a15928;
+ var a15929;
+ var a15930;
+ var a15931;
+ var a15932;
+ var a15933;
+ var a15934;
+ var a15935;
+ var a15936;
+ var a15937;
+ var a15938;
+ var a15939;
+ var a15940;
+ var a15941;
+ var a15942;
+ var a15943;
+ var a15944;
+ var a15945;
+ var a15946;
+ var a15947;
+ var a15948;
+ var a15949;
+ var a15950;
+ var a15951;
+ var a15952;
+ var a15953;
+ var a15954;
+ var a15955;
+ var a15956;
+ var a15957;
+ var a15958;
+ var a15959;
+ var a15960;
+ var a15961;
+ var a15962;
+ var a15963;
+ var a15964;
+ var a15965;
+ var a15966;
+ var a15967;
+ var a15968;
+ var a15969;
+ var a15970;
+ var a15971;
+ var a15972;
+ var a15973;
+ var a15974;
+ var a15975;
+ var a15976;
+ var a15977;
+ var a15978;
+ var a15979;
+ var a15980;
+ var a15981;
+ var a15982;
+ var a15983;
+ var a15984;
+ var a15985;
+ var a15986;
+ var a15987;
+ var a15988;
+ var a15989;
+ var a15990;
+ var a15991;
+ var a15992;
+ var a15993;
+ var a15994;
+ var a15995;
+ var a15996;
+ var a15997;
+ var a15998;
+ var a15999;
+ var a16000;
+ var a16001;
+ var a16002;
+ var a16003;
+ var a16004;
+ var a16005;
+ var a16006;
+ var a16007;
+ var a16008;
+ var a16009;
+ var a16010;
+ var a16011;
+ var a16012;
+ var a16013;
+ var a16014;
+ var a16015;
+ var a16016;
+ var a16017;
+ var a16018;
+ var a16019;
+ var a16020;
+ var a16021;
+ var a16022;
+ var a16023;
+ var a16024;
+ var a16025;
+ var a16026;
+ var a16027;
+ var a16028;
+ var a16029;
+ var a16030;
+ var a16031;
+ var a16032;
+ var a16033;
+ var a16034;
+ var a16035;
+ var a16036;
+ var a16037;
+ var a16038;
+ var a16039;
+ var a16040;
+ var a16041;
+ var a16042;
+ var a16043;
+ var a16044;
+ var a16045;
+ var a16046;
+ var a16047;
+ var a16048;
+ var a16049;
+ var a16050;
+ var a16051;
+ var a16052;
+ var a16053;
+ var a16054;
+ var a16055;
+ var a16056;
+ var a16057;
+ var a16058;
+ var a16059;
+ var a16060;
+ var a16061;
+ var a16062;
+ var a16063;
+ var a16064;
+ var a16065;
+ var a16066;
+ var a16067;
+ var a16068;
+ var a16069;
+ var a16070;
+ var a16071;
+ var a16072;
+ var a16073;
+ var a16074;
+ var a16075;
+ var a16076;
+ var a16077;
+ var a16078;
+ var a16079;
+ var a16080;
+ var a16081;
+ var a16082;
+ var a16083;
+ var a16084;
+ var a16085;
+ var a16086;
+ var a16087;
+ var a16088;
+ var a16089;
+ var a16090;
+ var a16091;
+ var a16092;
+ var a16093;
+ var a16094;
+ var a16095;
+ var a16096;
+ var a16097;
+ var a16098;
+ var a16099;
+ var a16100;
+ var a16101;
+ var a16102;
+ var a16103;
+ var a16104;
+ var a16105;
+ var a16106;
+ var a16107;
+ var a16108;
+ var a16109;
+ var a16110;
+ var a16111;
+ var a16112;
+ var a16113;
+ var a16114;
+ var a16115;
+ var a16116;
+ var a16117;
+ var a16118;
+ var a16119;
+ var a16120;
+ var a16121;
+ var a16122;
+ var a16123;
+ var a16124;
+ var a16125;
+ var a16126;
+ var a16127;
+ var a16128;
+ var a16129;
+ var a16130;
+ var a16131;
+ var a16132;
+ var a16133;
+ var a16134;
+ var a16135;
+ var a16136;
+ var a16137;
+ var a16138;
+ var a16139;
+ var a16140;
+ var a16141;
+ var a16142;
+ var a16143;
+ var a16144;
+ var a16145;
+ var a16146;
+ var a16147;
+ var a16148;
+ var a16149;
+ var a16150;
+ var a16151;
+ var a16152;
+ var a16153;
+ var a16154;
+ var a16155;
+ var a16156;
+ var a16157;
+ var a16158;
+ var a16159;
+ var a16160;
+ var a16161;
+ var a16162;
+ var a16163;
+ var a16164;
+ var a16165;
+ var a16166;
+ var a16167;
+ var a16168;
+ var a16169;
+ var a16170;
+ var a16171;
+ var a16172;
+ var a16173;
+ var a16174;
+ var a16175;
+ var a16176;
+ var a16177;
+ var a16178;
+ var a16179;
+ var a16180;
+ var a16181;
+ var a16182;
+ var a16183;
+ var a16184;
+ var a16185;
+ var a16186;
+ var a16187;
+ var a16188;
+ var a16189;
+ var a16190;
+ var a16191;
+ var a16192;
+ var a16193;
+ var a16194;
+ var a16195;
+ var a16196;
+ var a16197;
+ var a16198;
+ var a16199;
+ var a16200;
+ var a16201;
+ var a16202;
+ var a16203;
+ var a16204;
+ var a16205;
+ var a16206;
+ var a16207;
+ var a16208;
+ var a16209;
+ var a16210;
+ var a16211;
+ var a16212;
+ var a16213;
+ var a16214;
+ var a16215;
+ var a16216;
+ var a16217;
+ var a16218;
+ var a16219;
+ var a16220;
+ var a16221;
+ var a16222;
+ var a16223;
+ var a16224;
+ var a16225;
+ var a16226;
+ var a16227;
+ var a16228;
+ var a16229;
+ var a16230;
+ var a16231;
+ var a16232;
+ var a16233;
+ var a16234;
+ var a16235;
+ var a16236;
+ var a16237;
+ var a16238;
+ var a16239;
+ var a16240;
+ var a16241;
+ var a16242;
+ var a16243;
+ var a16244;
+ var a16245;
+ var a16246;
+ var a16247;
+ var a16248;
+ var a16249;
+ var a16250;
+ var a16251;
+ var a16252;
+ var a16253;
+ var a16254;
+ var a16255;
+ var a16256;
+ var a16257;
+ var a16258;
+ var a16259;
+ var a16260;
+ var a16261;
+ var a16262;
+ var a16263;
+ var a16264;
+ var a16265;
+ var a16266;
+ var a16267;
+ var a16268;
+ var a16269;
+ var a16270;
+ var a16271;
+ var a16272;
+ var a16273;
+ var a16274;
+ var a16275;
+ var a16276;
+ var a16277;
+ var a16278;
+ var a16279;
+ var a16280;
+ var a16281;
+ var a16282;
+ var a16283;
+ var a16284;
+ var a16285;
+ var a16286;
+ var a16287;
+ var a16288;
+ var a16289;
+ var a16290;
+ var a16291;
+ var a16292;
+ var a16293;
+ var a16294;
+ var a16295;
+ var a16296;
+ var a16297;
+ var a16298;
+ var a16299;
+ var a16300;
+ var a16301;
+ var a16302;
+ var a16303;
+ var a16304;
+ var a16305;
+ var a16306;
+ var a16307;
+ var a16308;
+ var a16309;
+ var a16310;
+ var a16311;
+ var a16312;
+ var a16313;
+ var a16314;
+ var a16315;
+ var a16316;
+ var a16317;
+ var a16318;
+ var a16319;
+ var a16320;
+ var a16321;
+ var a16322;
+ var a16323;
+ var a16324;
+ var a16325;
+ var a16326;
+ var a16327;
+ var a16328;
+ var a16329;
+ var a16330;
+ var a16331;
+ var a16332;
+ var a16333;
+ var a16334;
+ var a16335;
+ var a16336;
+ var a16337;
+ var a16338;
+ var a16339;
+ var a16340;
+ var a16341;
+ var a16342;
+ var a16343;
+ var a16344;
+ var a16345;
+ var a16346;
+ var a16347;
+ var a16348;
+ var a16349;
+ var a16350;
+ var a16351;
+ var a16352;
+ var a16353;
+ var a16354;
+ var a16355;
+ var a16356;
+ var a16357;
+ var a16358;
+ var a16359;
+ var a16360;
+ var a16361;
+ var a16362;
+ var a16363;
+ var a16364;
+ var a16365;
+ var a16366;
+ var a16367;
+ var a16368;
+ var a16369;
+ var a16370;
+ var a16371;
+ var a16372;
+ var a16373;
+ var a16374;
+ var a16375;
+ var a16376;
+ var a16377;
+ var a16378;
+ var a16379;
+ var a16380;
+ var a16381;
+ var a16382;
+ var a16383;
+ var a16384;
+ var a16385;
+ var a16386;
+ var a16387;
+ var a16388;
+ var a16389;
+ var a16390;
+ var a16391;
+ var a16392;
+ var a16393;
+ var a16394;
+ var a16395;
+ var a16396;
+ var a16397;
+ var a16398;
+ var a16399;
+ var a16400;
+ var a16401;
+ var a16402;
+ var a16403;
+ var a16404;
+ var a16405;
+ var a16406;
+ var a16407;
+ var a16408;
+ var a16409;
+ var a16410;
+ var a16411;
+ var a16412;
+ var a16413;
+ var a16414;
+ var a16415;
+ var a16416;
+ var a16417;
+ var a16418;
+ var a16419;
+ var a16420;
+ var a16421;
+ var a16422;
+ var a16423;
+ var a16424;
+ var a16425;
+ var a16426;
+ var a16427;
+ var a16428;
+ var a16429;
+ var a16430;
+ var a16431;
+ var a16432;
+ var a16433;
+ var a16434;
+ var a16435;
+ var a16436;
+ var a16437;
+ var a16438;
+ var a16439;
+ var a16440;
+ var a16441;
+ var a16442;
+ var a16443;
+ var a16444;
+ var a16445;
+ var a16446;
+ var a16447;
+ var a16448;
+ var a16449;
+ var a16450;
+ var a16451;
+ var a16452;
+ var a16453;
+ var a16454;
+ var a16455;
+ var a16456;
+ var a16457;
+ var a16458;
+ var a16459;
+ var a16460;
+ var a16461;
+ var a16462;
+ var a16463;
+ var a16464;
+ var a16465;
+ var a16466;
+ var a16467;
+ var a16468;
+ var a16469;
+ var a16470;
+ var a16471;
+ var a16472;
+ var a16473;
+ var a16474;
+ var a16475;
+ var a16476;
+ var a16477;
+ var a16478;
+ var a16479;
+ var a16480;
+ var a16481;
+ var a16482;
+ var a16483;
+ var a16484;
+ var a16485;
+ var a16486;
+ var a16487;
+ var a16488;
+ var a16489;
+ var a16490;
+ var a16491;
+ var a16492;
+ var a16493;
+ var a16494;
+ var a16495;
+ var a16496;
+ var a16497;
+ var a16498;
+ var a16499;
+ var a16500;
+ var a16501;
+ var a16502;
+ var a16503;
+ var a16504;
+ var a16505;
+ var a16506;
+ var a16507;
+ var a16508;
+ var a16509;
+ var a16510;
+ var a16511;
+ var a16512;
+ var a16513;
+ var a16514;
+ var a16515;
+ var a16516;
+ var a16517;
+ var a16518;
+ var a16519;
+ var a16520;
+ var a16521;
+ var a16522;
+ var a16523;
+ var a16524;
+ var a16525;
+ var a16526;
+ var a16527;
+ var a16528;
+ var a16529;
+ var a16530;
+ var a16531;
+ var a16532;
+ var a16533;
+ var a16534;
+ var a16535;
+ var a16536;
+ var a16537;
+ var a16538;
+ var a16539;
+ var a16540;
+ var a16541;
+ var a16542;
+ var a16543;
+ var a16544;
+ var a16545;
+ var a16546;
+ var a16547;
+ var a16548;
+ var a16549;
+ var a16550;
+ var a16551;
+ var a16552;
+ var a16553;
+ var a16554;
+ var a16555;
+ var a16556;
+ var a16557;
+ var a16558;
+ var a16559;
+ var a16560;
+ var a16561;
+ var a16562;
+ var a16563;
+ var a16564;
+ var a16565;
+ var a16566;
+ var a16567;
+ var a16568;
+ var a16569;
+ var a16570;
+ var a16571;
+ var a16572;
+ var a16573;
+ var a16574;
+ var a16575;
+ var a16576;
+ var a16577;
+ var a16578;
+ var a16579;
+ var a16580;
+ var a16581;
+ var a16582;
+ var a16583;
+ var a16584;
+ var a16585;
+ var a16586;
+ var a16587;
+ var a16588;
+ var a16589;
+ var a16590;
+ var a16591;
+ var a16592;
+ var a16593;
+ var a16594;
+ var a16595;
+ var a16596;
+ var a16597;
+ var a16598;
+ var a16599;
+ var a16600;
+ var a16601;
+ var a16602;
+ var a16603;
+ var a16604;
+ var a16605;
+ var a16606;
+ var a16607;
+ var a16608;
+ var a16609;
+ var a16610;
+ var a16611;
+ var a16612;
+ var a16613;
+ var a16614;
+ var a16615;
+ var a16616;
+ var a16617;
+ var a16618;
+ var a16619;
+ var a16620;
+ var a16621;
+ var a16622;
+ var a16623;
+ var a16624;
+ var a16625;
+ var a16626;
+ var a16627;
+ var a16628;
+ var a16629;
+ var a16630;
+ var a16631;
+ var a16632;
+ var a16633;
+ var a16634;
+ var a16635;
+ var a16636;
+ var a16637;
+ var a16638;
+ var a16639;
+ var a16640;
+ var a16641;
+ var a16642;
+ var a16643;
+ var a16644;
+ var a16645;
+ var a16646;
+ var a16647;
+ var a16648;
+ var a16649;
+ var a16650;
+ var a16651;
+ var a16652;
+ var a16653;
+ var a16654;
+ var a16655;
+ var a16656;
+ var a16657;
+ var a16658;
+ var a16659;
+ var a16660;
+ var a16661;
+ var a16662;
+ var a16663;
+ var a16664;
+ var a16665;
+ var a16666;
+ var a16667;
+ var a16668;
+ var a16669;
+ var a16670;
+ var a16671;
+ var a16672;
+ var a16673;
+ var a16674;
+ var a16675;
+ var a16676;
+ var a16677;
+ var a16678;
+ var a16679;
+ var a16680;
+ var a16681;
+ var a16682;
+ var a16683;
+ var a16684;
+ var a16685;
+ var a16686;
+ var a16687;
+ var a16688;
+ var a16689;
+ var a16690;
+ var a16691;
+ var a16692;
+ var a16693;
+ var a16694;
+ var a16695;
+ var a16696;
+ var a16697;
+ var a16698;
+ var a16699;
+ var a16700;
+ var a16701;
+ var a16702;
+ var a16703;
+ var a16704;
+ var a16705;
+ var a16706;
+ var a16707;
+ var a16708;
+ var a16709;
+ var a16710;
+ var a16711;
+ var a16712;
+ var a16713;
+ var a16714;
+ var a16715;
+ var a16716;
+ var a16717;
+ var a16718;
+ var a16719;
+ var a16720;
+ var a16721;
+ var a16722;
+ var a16723;
+ var a16724;
+ var a16725;
+ var a16726;
+ var a16727;
+ var a16728;
+ var a16729;
+ var a16730;
+ var a16731;
+ var a16732;
+ var a16733;
+ var a16734;
+ var a16735;
+ var a16736;
+ var a16737;
+ var a16738;
+ var a16739;
+ var a16740;
+ var a16741;
+ var a16742;
+ var a16743;
+ var a16744;
+ var a16745;
+ var a16746;
+ var a16747;
+ var a16748;
+ var a16749;
+ var a16750;
+ var a16751;
+ var a16752;
+ var a16753;
+ var a16754;
+ var a16755;
+ var a16756;
+ var a16757;
+ var a16758;
+ var a16759;
+ var a16760;
+ var a16761;
+ var a16762;
+ var a16763;
+ var a16764;
+ var a16765;
+ var a16766;
+ var a16767;
+ var a16768;
+ var a16769;
+ var a16770;
+ var a16771;
+ var a16772;
+ var a16773;
+ var a16774;
+ var a16775;
+ var a16776;
+ var a16777;
+ var a16778;
+ var a16779;
+ var a16780;
+ var a16781;
+ var a16782;
+ var a16783;
+ var a16784;
+ var a16785;
+ var a16786;
+ var a16787;
+ var a16788;
+ var a16789;
+ var a16790;
+ var a16791;
+ var a16792;
+ var a16793;
+ var a16794;
+ var a16795;
+ var a16796;
+ var a16797;
+ var a16798;
+ var a16799;
+ var a16800;
+ var a16801;
+ var a16802;
+ var a16803;
+ var a16804;
+ var a16805;
+ var a16806;
+ var a16807;
+ var a16808;
+ var a16809;
+ var a16810;
+ var a16811;
+ var a16812;
+ var a16813;
+ var a16814;
+ var a16815;
+ var a16816;
+ var a16817;
+ var a16818;
+ var a16819;
+ var a16820;
+ var a16821;
+ var a16822;
+ var a16823;
+ var a16824;
+ var a16825;
+ var a16826;
+ var a16827;
+ var a16828;
+ var a16829;
+ var a16830;
+ var a16831;
+ var a16832;
+ var a16833;
+ var a16834;
+ var a16835;
+ var a16836;
+ var a16837;
+ var a16838;
+ var a16839;
+ var a16840;
+ var a16841;
+ var a16842;
+ var a16843;
+ var a16844;
+ var a16845;
+ var a16846;
+ var a16847;
+ var a16848;
+ var a16849;
+ var a16850;
+ var a16851;
+ var a16852;
+ var a16853;
+ var a16854;
+ var a16855;
+ var a16856;
+ var a16857;
+ var a16858;
+ var a16859;
+ var a16860;
+ var a16861;
+ var a16862;
+ var a16863;
+ var a16864;
+ var a16865;
+ var a16866;
+ var a16867;
+ var a16868;
+ var a16869;
+ var a16870;
+ var a16871;
+ var a16872;
+ var a16873;
+ var a16874;
+ var a16875;
+ var a16876;
+ var a16877;
+ var a16878;
+ var a16879;
+ var a16880;
+ var a16881;
+ var a16882;
+ var a16883;
+ var a16884;
+ var a16885;
+ var a16886;
+ var a16887;
+ var a16888;
+ var a16889;
+ var a16890;
+ var a16891;
+ var a16892;
+ var a16893;
+ var a16894;
+ var a16895;
+ var a16896;
+ var a16897;
+ var a16898;
+ var a16899;
+ var a16900;
+ var a16901;
+ var a16902;
+ var a16903;
+ var a16904;
+ var a16905;
+ var a16906;
+ var a16907;
+ var a16908;
+ var a16909;
+ var a16910;
+ var a16911;
+ var a16912;
+ var a16913;
+ var a16914;
+ var a16915;
+ var a16916;
+ var a16917;
+ var a16918;
+ var a16919;
+ var a16920;
+ var a16921;
+ var a16922;
+ var a16923;
+ var a16924;
+ var a16925;
+ var a16926;
+ var a16927;
+ var a16928;
+ var a16929;
+ var a16930;
+ var a16931;
+ var a16932;
+ var a16933;
+ var a16934;
+ var a16935;
+ var a16936;
+ var a16937;
+ var a16938;
+ var a16939;
+ var a16940;
+ var a16941;
+ var a16942;
+ var a16943;
+ var a16944;
+ var a16945;
+ var a16946;
+ var a16947;
+ var a16948;
+ var a16949;
+ var a16950;
+ var a16951;
+ var a16952;
+ var a16953;
+ var a16954;
+ var a16955;
+ var a16956;
+ var a16957;
+ var a16958;
+ var a16959;
+ var a16960;
+ var a16961;
+ var a16962;
+ var a16963;
+ var a16964;
+ var a16965;
+ var a16966;
+ var a16967;
+ var a16968;
+ var a16969;
+ var a16970;
+ var a16971;
+ var a16972;
+ var a16973;
+ var a16974;
+ var a16975;
+ var a16976;
+ var a16977;
+ var a16978;
+ var a16979;
+ var a16980;
+ var a16981;
+ var a16982;
+ var a16983;
+ var a16984;
+ var a16985;
+ var a16986;
+ var a16987;
+ var a16988;
+ var a16989;
+ var a16990;
+ var a16991;
+ var a16992;
+ var a16993;
+ var a16994;
+ var a16995;
+ var a16996;
+ var a16997;
+ var a16998;
+ var a16999;
+ var a17000;
+ var a17001;
+ var a17002;
+ var a17003;
+ var a17004;
+ var a17005;
+ var a17006;
+ var a17007;
+ var a17008;
+ var a17009;
+ var a17010;
+ var a17011;
+ var a17012;
+ var a17013;
+ var a17014;
+ var a17015;
+ var a17016;
+ var a17017;
+ var a17018;
+ var a17019;
+ var a17020;
+ var a17021;
+ var a17022;
+ var a17023;
+ var a17024;
+ var a17025;
+ var a17026;
+ var a17027;
+ var a17028;
+ var a17029;
+ var a17030;
+ var a17031;
+ var a17032;
+ var a17033;
+ var a17034;
+ var a17035;
+ var a17036;
+ var a17037;
+ var a17038;
+ var a17039;
+ var a17040;
+ var a17041;
+ var a17042;
+ var a17043;
+ var a17044;
+ var a17045;
+ var a17046;
+ var a17047;
+ var a17048;
+ var a17049;
+ var a17050;
+ var a17051;
+ var a17052;
+ var a17053;
+ var a17054;
+ var a17055;
+ var a17056;
+ var a17057;
+ var a17058;
+ var a17059;
+ var a17060;
+ var a17061;
+ var a17062;
+ var a17063;
+ var a17064;
+ var a17065;
+ var a17066;
+ var a17067;
+ var a17068;
+ var a17069;
+ var a17070;
+ var a17071;
+ var a17072;
+ var a17073;
+ var a17074;
+ var a17075;
+ var a17076;
+ var a17077;
+ var a17078;
+ var a17079;
+ var a17080;
+ var a17081;
+ var a17082;
+ var a17083;
+ var a17084;
+ var a17085;
+ var a17086;
+ var a17087;
+ var a17088;
+ var a17089;
+ var a17090;
+ var a17091;
+ var a17092;
+ var a17093;
+ var a17094;
+ var a17095;
+ var a17096;
+ var a17097;
+ var a17098;
+ var a17099;
+ var a17100;
+ var a17101;
+ var a17102;
+ var a17103;
+ var a17104;
+ var a17105;
+ var a17106;
+ var a17107;
+ var a17108;
+ var a17109;
+ var a17110;
+ var a17111;
+ var a17112;
+ var a17113;
+ var a17114;
+ var a17115;
+ var a17116;
+ var a17117;
+ var a17118;
+ var a17119;
+ var a17120;
+ var a17121;
+ var a17122;
+ var a17123;
+ var a17124;
+ var a17125;
+ var a17126;
+ var a17127;
+ var a17128;
+ var a17129;
+ var a17130;
+ var a17131;
+ var a17132;
+ var a17133;
+ var a17134;
+ var a17135;
+ var a17136;
+ var a17137;
+ var a17138;
+ var a17139;
+ var a17140;
+ var a17141;
+ var a17142;
+ var a17143;
+ var a17144;
+ var a17145;
+ var a17146;
+ var a17147;
+ var a17148;
+ var a17149;
+ var a17150;
+ var a17151;
+ var a17152;
+ var a17153;
+ var a17154;
+ var a17155;
+ var a17156;
+ var a17157;
+ var a17158;
+ var a17159;
+ var a17160;
+ var a17161;
+ var a17162;
+ var a17163;
+ var a17164;
+ var a17165;
+ var a17166;
+ var a17167;
+ var a17168;
+ var a17169;
+ var a17170;
+ var a17171;
+ var a17172;
+ var a17173;
+ var a17174;
+ var a17175;
+ var a17176;
+ var a17177;
+ var a17178;
+ var a17179;
+ var a17180;
+ var a17181;
+ var a17182;
+ var a17183;
+ var a17184;
+ var a17185;
+ var a17186;
+ var a17187;
+ var a17188;
+ var a17189;
+ var a17190;
+ var a17191;
+ var a17192;
+ var a17193;
+ var a17194;
+ var a17195;
+ var a17196;
+ var a17197;
+ var a17198;
+ var a17199;
+ var a17200;
+ var a17201;
+ var a17202;
+ var a17203;
+ var a17204;
+ var a17205;
+ var a17206;
+ var a17207;
+ var a17208;
+ var a17209;
+ var a17210;
+ var a17211;
+ var a17212;
+ var a17213;
+ var a17214;
+ var a17215;
+ var a17216;
+ var a17217;
+ var a17218;
+ var a17219;
+ var a17220;
+ var a17221;
+ var a17222;
+ var a17223;
+ var a17224;
+ var a17225;
+ var a17226;
+ var a17227;
+ var a17228;
+ var a17229;
+ var a17230;
+ var a17231;
+ var a17232;
+ var a17233;
+ var a17234;
+ var a17235;
+ var a17236;
+ var a17237;
+ var a17238;
+ var a17239;
+ var a17240;
+ var a17241;
+ var a17242;
+ var a17243;
+ var a17244;
+ var a17245;
+ var a17246;
+ var a17247;
+ var a17248;
+ var a17249;
+ var a17250;
+ var a17251;
+ var a17252;
+ var a17253;
+ var a17254;
+ var a17255;
+ var a17256;
+ var a17257;
+ var a17258;
+ var a17259;
+ var a17260;
+ var a17261;
+ var a17262;
+ var a17263;
+ var a17264;
+ var a17265;
+ var a17266;
+ var a17267;
+ var a17268;
+ var a17269;
+ var a17270;
+ var a17271;
+ var a17272;
+ var a17273;
+ var a17274;
+ var a17275;
+ var a17276;
+ var a17277;
+ var a17278;
+ var a17279;
+ var a17280;
+ var a17281;
+ var a17282;
+ var a17283;
+ var a17284;
+ var a17285;
+ var a17286;
+ var a17287;
+ var a17288;
+ var a17289;
+ var a17290;
+ var a17291;
+ var a17292;
+ var a17293;
+ var a17294;
+ var a17295;
+ var a17296;
+ var a17297;
+ var a17298;
+ var a17299;
+ var a17300;
+ var a17301;
+ var a17302;
+ var a17303;
+ var a17304;
+ var a17305;
+ var a17306;
+ var a17307;
+ var a17308;
+ var a17309;
+ var a17310;
+ var a17311;
+ var a17312;
+ var a17313;
+ var a17314;
+ var a17315;
+ var a17316;
+ var a17317;
+ var a17318;
+ var a17319;
+ var a17320;
+ var a17321;
+ var a17322;
+ var a17323;
+ var a17324;
+ var a17325;
+ var a17326;
+ var a17327;
+ var a17328;
+ var a17329;
+ var a17330;
+ var a17331;
+ var a17332;
+ var a17333;
+ var a17334;
+ var a17335;
+ var a17336;
+ var a17337;
+ var a17338;
+ var a17339;
+ var a17340;
+ var a17341;
+ var a17342;
+ var a17343;
+ var a17344;
+ var a17345;
+ var a17346;
+ var a17347;
+ var a17348;
+ var a17349;
+ var a17350;
+ var a17351;
+ var a17352;
+ var a17353;
+ var a17354;
+ var a17355;
+ var a17356;
+ var a17357;
+ var a17358;
+ var a17359;
+ var a17360;
+ var a17361;
+ var a17362;
+ var a17363;
+ var a17364;
+ var a17365;
+ var a17366;
+ var a17367;
+ var a17368;
+ var a17369;
+ var a17370;
+ var a17371;
+ var a17372;
+ var a17373;
+ var a17374;
+ var a17375;
+ var a17376;
+ var a17377;
+ var a17378;
+ var a17379;
+ var a17380;
+ var a17381;
+ var a17382;
+ var a17383;
+ var a17384;
+ var a17385;
+ var a17386;
+ var a17387;
+ var a17388;
+ var a17389;
+ var a17390;
+ var a17391;
+ var a17392;
+ var a17393;
+ var a17394;
+ var a17395;
+ var a17396;
+ var a17397;
+ var a17398;
+ var a17399;
+ var a17400;
+ var a17401;
+ var a17402;
+ var a17403;
+ var a17404;
+ var a17405;
+ var a17406;
+ var a17407;
+ var a17408;
+ var a17409;
+ var a17410;
+ var a17411;
+ var a17412;
+ var a17413;
+ var a17414;
+ var a17415;
+ var a17416;
+ var a17417;
+ var a17418;
+ var a17419;
+ var a17420;
+ var a17421;
+ var a17422;
+ var a17423;
+ var a17424;
+ var a17425;
+ var a17426;
+ var a17427;
+ var a17428;
+ var a17429;
+ var a17430;
+ var a17431;
+ var a17432;
+ var a17433;
+ var a17434;
+ var a17435;
+ var a17436;
+ var a17437;
+ var a17438;
+ var a17439;
+ var a17440;
+ var a17441;
+ var a17442;
+ var a17443;
+ var a17444;
+ var a17445;
+ var a17446;
+ var a17447;
+ var a17448;
+ var a17449;
+ var a17450;
+ var a17451;
+ var a17452;
+ var a17453;
+ var a17454;
+ var a17455;
+ var a17456;
+ var a17457;
+ var a17458;
+ var a17459;
+ var a17460;
+ var a17461;
+ var a17462;
+ var a17463;
+ var a17464;
+ var a17465;
+ var a17466;
+ var a17467;
+ var a17468;
+ var a17469;
+ var a17470;
+ var a17471;
+ var a17472;
+ var a17473;
+ var a17474;
+ var a17475;
+ var a17476;
+ var a17477;
+ var a17478;
+ var a17479;
+ var a17480;
+ var a17481;
+ var a17482;
+ var a17483;
+ var a17484;
+ var a17485;
+ var a17486;
+ var a17487;
+ var a17488;
+ var a17489;
+ var a17490;
+ var a17491;
+ var a17492;
+ var a17493;
+ var a17494;
+ var a17495;
+ var a17496;
+ var a17497;
+ var a17498;
+ var a17499;
+ var a17500;
+ var a17501;
+ var a17502;
+ var a17503;
+ var a17504;
+ var a17505;
+ var a17506;
+ var a17507;
+ var a17508;
+ var a17509;
+ var a17510;
+ var a17511;
+ var a17512;
+ var a17513;
+ var a17514;
+ var a17515;
+ var a17516;
+ var a17517;
+ var a17518;
+ var a17519;
+ var a17520;
+ var a17521;
+ var a17522;
+ var a17523;
+ var a17524;
+ var a17525;
+ var a17526;
+ var a17527;
+ var a17528;
+ var a17529;
+ var a17530;
+ var a17531;
+ var a17532;
+ var a17533;
+ var a17534;
+ var a17535;
+ var a17536;
+ var a17537;
+ var a17538;
+ var a17539;
+ var a17540;
+ var a17541;
+ var a17542;
+ var a17543;
+ var a17544;
+ var a17545;
+ var a17546;
+ var a17547;
+ var a17548;
+ var a17549;
+ var a17550;
+ var a17551;
+ var a17552;
+ var a17553;
+ var a17554;
+ var a17555;
+ var a17556;
+ var a17557;
+ var a17558;
+ var a17559;
+ var a17560;
+ var a17561;
+ var a17562;
+ var a17563;
+ var a17564;
+ var a17565;
+ var a17566;
+ var a17567;
+ var a17568;
+ var a17569;
+ var a17570;
+ var a17571;
+ var a17572;
+ var a17573;
+ var a17574;
+ var a17575;
+ var a17576;
+ var a17577;
+ var a17578;
+ var a17579;
+ var a17580;
+ var a17581;
+ var a17582;
+ var a17583;
+ var a17584;
+ var a17585;
+ var a17586;
+ var a17587;
+ var a17588;
+ var a17589;
+ var a17590;
+ var a17591;
+ var a17592;
+ var a17593;
+ var a17594;
+ var a17595;
+ var a17596;
+ var a17597;
+ var a17598;
+ var a17599;
+ var a17600;
+ var a17601;
+ var a17602;
+ var a17603;
+ var a17604;
+ var a17605;
+ var a17606;
+ var a17607;
+ var a17608;
+ var a17609;
+ var a17610;
+ var a17611;
+ var a17612;
+ var a17613;
+ var a17614;
+ var a17615;
+ var a17616;
+ var a17617;
+ var a17618;
+ var a17619;
+ var a17620;
+ var a17621;
+ var a17622;
+ var a17623;
+ var a17624;
+ var a17625;
+ var a17626;
+ var a17627;
+ var a17628;
+ var a17629;
+ var a17630;
+ var a17631;
+ var a17632;
+ var a17633;
+ var a17634;
+ var a17635;
+ var a17636;
+ var a17637;
+ var a17638;
+ var a17639;
+ var a17640;
+ var a17641;
+ var a17642;
+ var a17643;
+ var a17644;
+ var a17645;
+ var a17646;
+ var a17647;
+ var a17648;
+ var a17649;
+ var a17650;
+ var a17651;
+ var a17652;
+ var a17653;
+ var a17654;
+ var a17655;
+ var a17656;
+ var a17657;
+ var a17658;
+ var a17659;
+ var a17660;
+ var a17661;
+ var a17662;
+ var a17663;
+ var a17664;
+ var a17665;
+ var a17666;
+ var a17667;
+ var a17668;
+ var a17669;
+ var a17670;
+ var a17671;
+ var a17672;
+ var a17673;
+ var a17674;
+ var a17675;
+ var a17676;
+ var a17677;
+ var a17678;
+ var a17679;
+ var a17680;
+ var a17681;
+ var a17682;
+ var a17683;
+ var a17684;
+ var a17685;
+ var a17686;
+ var a17687;
+ var a17688;
+ var a17689;
+ var a17690;
+ var a17691;
+ var a17692;
+ var a17693;
+ var a17694;
+ var a17695;
+ var a17696;
+ var a17697;
+ var a17698;
+ var a17699;
+ var a17700;
+ var a17701;
+ var a17702;
+ var a17703;
+ var a17704;
+ var a17705;
+ var a17706;
+ var a17707;
+ var a17708;
+ var a17709;
+ var a17710;
+ var a17711;
+ var a17712;
+ var a17713;
+ var a17714;
+ var a17715;
+ var a17716;
+ var a17717;
+ var a17718;
+ var a17719;
+ var a17720;
+ var a17721;
+ var a17722;
+ var a17723;
+ var a17724;
+ var a17725;
+ var a17726;
+ var a17727;
+ var a17728;
+ var a17729;
+ var a17730;
+ var a17731;
+ var a17732;
+ var a17733;
+ var a17734;
+ var a17735;
+ var a17736;
+ var a17737;
+ var a17738;
+ var a17739;
+ var a17740;
+ var a17741;
+ var a17742;
+ var a17743;
+ var a17744;
+ var a17745;
+ var a17746;
+ var a17747;
+ var a17748;
+ var a17749;
+ var a17750;
+ var a17751;
+ var a17752;
+ var a17753;
+ var a17754;
+ var a17755;
+ var a17756;
+ var a17757;
+ var a17758;
+ var a17759;
+ var a17760;
+ var a17761;
+ var a17762;
+ var a17763;
+ var a17764;
+ var a17765;
+ var a17766;
+ var a17767;
+ var a17768;
+ var a17769;
+ var a17770;
+ var a17771;
+ var a17772;
+ var a17773;
+ var a17774;
+ var a17775;
+ var a17776;
+ var a17777;
+ var a17778;
+ var a17779;
+ var a17780;
+ var a17781;
+ var a17782;
+ var a17783;
+ var a17784;
+ var a17785;
+ var a17786;
+ var a17787;
+ var a17788;
+ var a17789;
+ var a17790;
+ var a17791;
+ var a17792;
+ var a17793;
+ var a17794;
+ var a17795;
+ var a17796;
+ var a17797;
+ var a17798;
+ var a17799;
+ var a17800;
+ var a17801;
+ var a17802;
+ var a17803;
+ var a17804;
+ var a17805;
+ var a17806;
+ var a17807;
+ var a17808;
+ var a17809;
+ var a17810;
+ var a17811;
+ var a17812;
+ var a17813;
+ var a17814;
+ var a17815;
+ var a17816;
+ var a17817;
+ var a17818;
+ var a17819;
+ var a17820;
+ var a17821;
+ var a17822;
+ var a17823;
+ var a17824;
+ var a17825;
+ var a17826;
+ var a17827;
+ var a17828;
+ var a17829;
+ var a17830;
+ var a17831;
+ var a17832;
+ var a17833;
+ var a17834;
+ var a17835;
+ var a17836;
+ var a17837;
+ var a17838;
+ var a17839;
+ var a17840;
+ var a17841;
+ var a17842;
+ var a17843;
+ var a17844;
+ var a17845;
+ var a17846;
+ var a17847;
+ var a17848;
+ var a17849;
+ var a17850;
+ var a17851;
+ var a17852;
+ var a17853;
+ var a17854;
+ var a17855;
+ var a17856;
+ var a17857;
+ var a17858;
+ var a17859;
+ var a17860;
+ var a17861;
+ var a17862;
+ var a17863;
+ var a17864;
+ var a17865;
+ var a17866;
+ var a17867;
+ var a17868;
+ var a17869;
+ var a17870;
+ var a17871;
+ var a17872;
+ var a17873;
+ var a17874;
+ var a17875;
+ var a17876;
+ var a17877;
+ var a17878;
+ var a17879;
+ var a17880;
+ var a17881;
+ var a17882;
+ var a17883;
+ var a17884;
+ var a17885;
+ var a17886;
+ var a17887;
+ var a17888;
+ var a17889;
+ var a17890;
+ var a17891;
+ var a17892;
+ var a17893;
+ var a17894;
+ var a17895;
+ var a17896;
+ var a17897;
+ var a17898;
+ var a17899;
+ var a17900;
+ var a17901;
+ var a17902;
+ var a17903;
+ var a17904;
+ var a17905;
+ var a17906;
+ var a17907;
+ var a17908;
+ var a17909;
+ var a17910;
+ var a17911;
+ var a17912;
+ var a17913;
+ var a17914;
+ var a17915;
+ var a17916;
+ var a17917;
+ var a17918;
+ var a17919;
+ var a17920;
+ var a17921;
+ var a17922;
+ var a17923;
+ var a17924;
+ var a17925;
+ var a17926;
+ var a17927;
+ var a17928;
+ var a17929;
+ var a17930;
+ var a17931;
+ var a17932;
+ var a17933;
+ var a17934;
+ var a17935;
+ var a17936;
+ var a17937;
+ var a17938;
+ var a17939;
+ var a17940;
+ var a17941;
+ var a17942;
+ var a17943;
+ var a17944;
+ var a17945;
+ var a17946;
+ var a17947;
+ var a17948;
+ var a17949;
+ var a17950;
+ var a17951;
+ var a17952;
+ var a17953;
+ var a17954;
+ var a17955;
+ var a17956;
+ var a17957;
+ var a17958;
+ var a17959;
+ var a17960;
+ var a17961;
+ var a17962;
+ var a17963;
+ var a17964;
+ var a17965;
+ var a17966;
+ var a17967;
+ var a17968;
+ var a17969;
+ var a17970;
+ var a17971;
+ var a17972;
+ var a17973;
+ var a17974;
+ var a17975;
+ var a17976;
+ var a17977;
+ var a17978;
+ var a17979;
+ var a17980;
+ var a17981;
+ var a17982;
+ var a17983;
+ var a17984;
+ var a17985;
+ var a17986;
+ var a17987;
+ var a17988;
+ var a17989;
+ var a17990;
+ var a17991;
+ var a17992;
+ var a17993;
+ var a17994;
+ var a17995;
+ var a17996;
+ var a17997;
+ var a17998;
+ var a17999;
+ var a18000;
+ var a18001;
+ var a18002;
+ var a18003;
+ var a18004;
+ var a18005;
+ var a18006;
+ var a18007;
+ var a18008;
+ var a18009;
+ var a18010;
+ var a18011;
+ var a18012;
+ var a18013;
+ var a18014;
+ var a18015;
+ var a18016;
+ var a18017;
+ var a18018;
+ var a18019;
+ var a18020;
+ var a18021;
+ var a18022;
+ var a18023;
+ var a18024;
+ var a18025;
+ var a18026;
+ var a18027;
+ var a18028;
+ var a18029;
+ var a18030;
+ var a18031;
+ var a18032;
+ var a18033;
+ var a18034;
+ var a18035;
+ var a18036;
+ var a18037;
+ var a18038;
+ var a18039;
+ var a18040;
+ var a18041;
+ var a18042;
+ var a18043;
+ var a18044;
+ var a18045;
+ var a18046;
+ var a18047;
+ var a18048;
+ var a18049;
+ var a18050;
+ var a18051;
+ var a18052;
+ var a18053;
+ var a18054;
+ var a18055;
+ var a18056;
+ var a18057;
+ var a18058;
+ var a18059;
+ var a18060;
+ var a18061;
+ var a18062;
+ var a18063;
+ var a18064;
+ var a18065;
+ var a18066;
+ var a18067;
+ var a18068;
+ var a18069;
+ var a18070;
+ var a18071;
+ var a18072;
+ var a18073;
+ var a18074;
+ var a18075;
+ var a18076;
+ var a18077;
+ var a18078;
+ var a18079;
+ var a18080;
+ var a18081;
+ var a18082;
+ var a18083;
+ var a18084;
+ var a18085;
+ var a18086;
+ var a18087;
+ var a18088;
+ var a18089;
+ var a18090;
+ var a18091;
+ var a18092;
+ var a18093;
+ var a18094;
+ var a18095;
+ var a18096;
+ var a18097;
+ var a18098;
+ var a18099;
+ var a18100;
+ var a18101;
+ var a18102;
+ var a18103;
+ var a18104;
+ var a18105;
+ var a18106;
+ var a18107;
+ var a18108;
+ var a18109;
+ var a18110;
+ var a18111;
+ var a18112;
+ var a18113;
+ var a18114;
+ var a18115;
+ var a18116;
+ var a18117;
+ var a18118;
+ var a18119;
+ var a18120;
+ var a18121;
+ var a18122;
+ var a18123;
+ var a18124;
+ var a18125;
+ var a18126;
+ var a18127;
+ var a18128;
+ var a18129;
+ var a18130;
+ var a18131;
+ var a18132;
+ var a18133;
+ var a18134;
+ var a18135;
+ var a18136;
+ var a18137;
+ var a18138;
+ var a18139;
+ var a18140;
+ var a18141;
+ var a18142;
+ var a18143;
+ var a18144;
+ var a18145;
+ var a18146;
+ var a18147;
+ var a18148;
+ var a18149;
+ var a18150;
+ var a18151;
+ var a18152;
+ var a18153;
+ var a18154;
+ var a18155;
+ var a18156;
+ var a18157;
+ var a18158;
+ var a18159;
+ var a18160;
+ var a18161;
+ var a18162;
+ var a18163;
+ var a18164;
+ var a18165;
+ var a18166;
+ var a18167;
+ var a18168;
+ var a18169;
+ var a18170;
+ var a18171;
+ var a18172;
+ var a18173;
+ var a18174;
+ var a18175;
+ var a18176;
+ var a18177;
+ var a18178;
+ var a18179;
+ var a18180;
+ var a18181;
+ var a18182;
+ var a18183;
+ var a18184;
+ var a18185;
+ var a18186;
+ var a18187;
+ var a18188;
+ var a18189;
+ var a18190;
+ var a18191;
+ var a18192;
+ var a18193;
+ var a18194;
+ var a18195;
+ var a18196;
+ var a18197;
+ var a18198;
+ var a18199;
+ var a18200;
+ var a18201;
+ var a18202;
+ var a18203;
+ var a18204;
+ var a18205;
+ var a18206;
+ var a18207;
+ var a18208;
+ var a18209;
+ var a18210;
+ var a18211;
+ var a18212;
+ var a18213;
+ var a18214;
+ var a18215;
+ var a18216;
+ var a18217;
+ var a18218;
+ var a18219;
+ var a18220;
+ var a18221;
+ var a18222;
+ var a18223;
+ var a18224;
+ var a18225;
+ var a18226;
+ var a18227;
+ var a18228;
+ var a18229;
+ var a18230;
+ var a18231;
+ var a18232;
+ var a18233;
+ var a18234;
+ var a18235;
+ var a18236;
+ var a18237;
+ var a18238;
+ var a18239;
+ var a18240;
+ var a18241;
+ var a18242;
+ var a18243;
+ var a18244;
+ var a18245;
+ var a18246;
+ var a18247;
+ var a18248;
+ var a18249;
+ var a18250;
+ var a18251;
+ var a18252;
+ var a18253;
+ var a18254;
+ var a18255;
+ var a18256;
+ var a18257;
+ var a18258;
+ var a18259;
+ var a18260;
+ var a18261;
+ var a18262;
+ var a18263;
+ var a18264;
+ var a18265;
+ var a18266;
+ var a18267;
+ var a18268;
+ var a18269;
+ var a18270;
+ var a18271;
+ var a18272;
+ var a18273;
+ var a18274;
+ var a18275;
+ var a18276;
+ var a18277;
+ var a18278;
+ var a18279;
+ var a18280;
+ var a18281;
+ var a18282;
+ var a18283;
+ var a18284;
+ var a18285;
+ var a18286;
+ var a18287;
+ var a18288;
+ var a18289;
+ var a18290;
+ var a18291;
+ var a18292;
+ var a18293;
+ var a18294;
+ var a18295;
+ var a18296;
+ var a18297;
+ var a18298;
+ var a18299;
+ var a18300;
+ var a18301;
+ var a18302;
+ var a18303;
+ var a18304;
+ var a18305;
+ var a18306;
+ var a18307;
+ var a18308;
+ var a18309;
+ var a18310;
+ var a18311;
+ var a18312;
+ var a18313;
+ var a18314;
+ var a18315;
+ var a18316;
+ var a18317;
+ var a18318;
+ var a18319;
+ var a18320;
+ var a18321;
+ var a18322;
+ var a18323;
+ var a18324;
+ var a18325;
+ var a18326;
+ var a18327;
+ var a18328;
+ var a18329;
+ var a18330;
+ var a18331;
+ var a18332;
+ var a18333;
+ var a18334;
+ var a18335;
+ var a18336;
+ var a18337;
+ var a18338;
+ var a18339;
+ var a18340;
+ var a18341;
+ var a18342;
+ var a18343;
+ var a18344;
+ var a18345;
+ var a18346;
+ var a18347;
+ var a18348;
+ var a18349;
+ var a18350;
+ var a18351;
+ var a18352;
+ var a18353;
+ var a18354;
+ var a18355;
+ var a18356;
+ var a18357;
+ var a18358;
+ var a18359;
+ var a18360;
+ var a18361;
+ var a18362;
+ var a18363;
+ var a18364;
+ var a18365;
+ var a18366;
+ var a18367;
+ var a18368;
+ var a18369;
+ var a18370;
+ var a18371;
+ var a18372;
+ var a18373;
+ var a18374;
+ var a18375;
+ var a18376;
+ var a18377;
+ var a18378;
+ var a18379;
+ var a18380;
+ var a18381;
+ var a18382;
+ var a18383;
+ var a18384;
+ var a18385;
+ var a18386;
+ var a18387;
+ var a18388;
+ var a18389;
+ var a18390;
+ var a18391;
+ var a18392;
+ var a18393;
+ var a18394;
+ var a18395;
+ var a18396;
+ var a18397;
+ var a18398;
+ var a18399;
+ var a18400;
+ var a18401;
+ var a18402;
+ var a18403;
+ var a18404;
+ var a18405;
+ var a18406;
+ var a18407;
+ var a18408;
+ var a18409;
+ var a18410;
+ var a18411;
+ var a18412;
+ var a18413;
+ var a18414;
+ var a18415;
+ var a18416;
+ var a18417;
+ var a18418;
+ var a18419;
+ var a18420;
+ var a18421;
+ var a18422;
+ var a18423;
+ var a18424;
+ var a18425;
+ var a18426;
+ var a18427;
+ var a18428;
+ var a18429;
+ var a18430;
+ var a18431;
+ var a18432;
+ var a18433;
+ var a18434;
+ var a18435;
+ var a18436;
+ var a18437;
+ var a18438;
+ var a18439;
+ var a18440;
+ var a18441;
+ var a18442;
+ var a18443;
+ var a18444;
+ var a18445;
+ var a18446;
+ var a18447;
+ var a18448;
+ var a18449;
+ var a18450;
+ var a18451;
+ var a18452;
+ var a18453;
+ var a18454;
+ var a18455;
+ var a18456;
+ var a18457;
+ var a18458;
+ var a18459;
+ var a18460;
+ var a18461;
+ var a18462;
+ var a18463;
+ var a18464;
+ var a18465;
+ var a18466;
+ var a18467;
+ var a18468;
+ var a18469;
+ var a18470;
+ var a18471;
+ var a18472;
+ var a18473;
+ var a18474;
+ var a18475;
+ var a18476;
+ var a18477;
+ var a18478;
+ var a18479;
+ var a18480;
+ var a18481;
+ var a18482;
+ var a18483;
+ var a18484;
+ var a18485;
+ var a18486;
+ var a18487;
+ var a18488;
+ var a18489;
+ var a18490;
+ var a18491;
+ var a18492;
+ var a18493;
+ var a18494;
+ var a18495;
+ var a18496;
+ var a18497;
+ var a18498;
+ var a18499;
+ var a18500;
+ var a18501;
+ var a18502;
+ var a18503;
+ var a18504;
+ var a18505;
+ var a18506;
+ var a18507;
+ var a18508;
+ var a18509;
+ var a18510;
+ var a18511;
+ var a18512;
+ var a18513;
+ var a18514;
+ var a18515;
+ var a18516;
+ var a18517;
+ var a18518;
+ var a18519;
+ var a18520;
+ var a18521;
+ var a18522;
+ var a18523;
+ var a18524;
+ var a18525;
+ var a18526;
+ var a18527;
+ var a18528;
+ var a18529;
+ var a18530;
+ var a18531;
+ var a18532;
+ var a18533;
+ var a18534;
+ var a18535;
+ var a18536;
+ var a18537;
+ var a18538;
+ var a18539;
+ var a18540;
+ var a18541;
+ var a18542;
+ var a18543;
+ var a18544;
+ var a18545;
+ var a18546;
+ var a18547;
+ var a18548;
+ var a18549;
+ var a18550;
+ var a18551;
+ var a18552;
+ var a18553;
+ var a18554;
+ var a18555;
+ var a18556;
+ var a18557;
+ var a18558;
+ var a18559;
+ var a18560;
+ var a18561;
+ var a18562;
+ var a18563;
+ var a18564;
+ var a18565;
+ var a18566;
+ var a18567;
+ var a18568;
+ var a18569;
+ var a18570;
+ var a18571;
+ var a18572;
+ var a18573;
+ var a18574;
+ var a18575;
+ var a18576;
+ var a18577;
+ var a18578;
+ var a18579;
+ var a18580;
+ var a18581;
+ var a18582;
+ var a18583;
+ var a18584;
+ var a18585;
+ var a18586;
+ var a18587;
+ var a18588;
+ var a18589;
+ var a18590;
+ var a18591;
+ var a18592;
+ var a18593;
+ var a18594;
+ var a18595;
+ var a18596;
+ var a18597;
+ var a18598;
+ var a18599;
+ var a18600;
+ var a18601;
+ var a18602;
+ var a18603;
+ var a18604;
+ var a18605;
+ var a18606;
+ var a18607;
+ var a18608;
+ var a18609;
+ var a18610;
+ var a18611;
+ var a18612;
+ var a18613;
+ var a18614;
+ var a18615;
+ var a18616;
+ var a18617;
+ var a18618;
+ var a18619;
+ var a18620;
+ var a18621;
+ var a18622;
+ var a18623;
+ var a18624;
+ var a18625;
+ var a18626;
+ var a18627;
+ var a18628;
+ var a18629;
+ var a18630;
+ var a18631;
+ var a18632;
+ var a18633;
+ var a18634;
+ var a18635;
+ var a18636;
+ var a18637;
+ var a18638;
+ var a18639;
+ var a18640;
+ var a18641;
+ var a18642;
+ var a18643;
+ var a18644;
+ var a18645;
+ var a18646;
+ var a18647;
+ var a18648;
+ var a18649;
+ var a18650;
+ var a18651;
+ var a18652;
+ var a18653;
+ var a18654;
+ var a18655;
+ var a18656;
+ var a18657;
+ var a18658;
+ var a18659;
+ var a18660;
+ var a18661;
+ var a18662;
+ var a18663;
+ var a18664;
+ var a18665;
+ var a18666;
+ var a18667;
+ var a18668;
+ var a18669;
+ var a18670;
+ var a18671;
+ var a18672;
+ var a18673;
+ var a18674;
+ var a18675;
+ var a18676;
+ var a18677;
+ var a18678;
+ var a18679;
+ var a18680;
+ var a18681;
+ var a18682;
+ var a18683;
+ var a18684;
+ var a18685;
+ var a18686;
+ var a18687;
+ var a18688;
+ var a18689;
+ var a18690;
+ var a18691;
+ var a18692;
+ var a18693;
+ var a18694;
+ var a18695;
+ var a18696;
+ var a18697;
+ var a18698;
+ var a18699;
+ var a18700;
+ var a18701;
+ var a18702;
+ var a18703;
+ var a18704;
+ var a18705;
+ var a18706;
+ var a18707;
+ var a18708;
+ var a18709;
+ var a18710;
+ var a18711;
+ var a18712;
+ var a18713;
+ var a18714;
+ var a18715;
+ var a18716;
+ var a18717;
+ var a18718;
+ var a18719;
+ var a18720;
+ var a18721;
+ var a18722;
+ var a18723;
+ var a18724;
+ var a18725;
+ var a18726;
+ var a18727;
+ var a18728;
+ var a18729;
+ var a18730;
+ var a18731;
+ var a18732;
+ var a18733;
+ var a18734;
+ var a18735;
+ var a18736;
+ var a18737;
+ var a18738;
+ var a18739;
+ var a18740;
+ var a18741;
+ var a18742;
+ var a18743;
+ var a18744;
+ var a18745;
+ var a18746;
+ var a18747;
+ var a18748;
+ var a18749;
+ var a18750;
+ var a18751;
+ var a18752;
+ var a18753;
+ var a18754;
+ var a18755;
+ var a18756;
+ var a18757;
+ var a18758;
+ var a18759;
+ var a18760;
+ var a18761;
+ var a18762;
+ var a18763;
+ var a18764;
+ var a18765;
+ var a18766;
+ var a18767;
+ var a18768;
+ var a18769;
+ var a18770;
+ var a18771;
+ var a18772;
+ var a18773;
+ var a18774;
+ var a18775;
+ var a18776;
+ var a18777;
+ var a18778;
+ var a18779;
+ var a18780;
+ var a18781;
+ var a18782;
+ var a18783;
+ var a18784;
+ var a18785;
+ var a18786;
+ var a18787;
+ var a18788;
+ var a18789;
+ var a18790;
+ var a18791;
+ var a18792;
+ var a18793;
+ var a18794;
+ var a18795;
+ var a18796;
+ var a18797;
+ var a18798;
+ var a18799;
+ var a18800;
+ var a18801;
+ var a18802;
+ var a18803;
+ var a18804;
+ var a18805;
+ var a18806;
+ var a18807;
+ var a18808;
+ var a18809;
+ var a18810;
+ var a18811;
+ var a18812;
+ var a18813;
+ var a18814;
+ var a18815;
+ var a18816;
+ var a18817;
+ var a18818;
+ var a18819;
+ var a18820;
+ var a18821;
+ var a18822;
+ var a18823;
+ var a18824;
+ var a18825;
+ var a18826;
+ var a18827;
+ var a18828;
+ var a18829;
+ var a18830;
+ var a18831;
+ var a18832;
+ var a18833;
+ var a18834;
+ var a18835;
+ var a18836;
+ var a18837;
+ var a18838;
+ var a18839;
+ var a18840;
+ var a18841;
+ var a18842;
+ var a18843;
+ var a18844;
+ var a18845;
+ var a18846;
+ var a18847;
+ var a18848;
+ var a18849;
+ var a18850;
+ var a18851;
+ var a18852;
+ var a18853;
+ var a18854;
+ var a18855;
+ var a18856;
+ var a18857;
+ var a18858;
+ var a18859;
+ var a18860;
+ var a18861;
+ var a18862;
+ var a18863;
+ var a18864;
+ var a18865;
+ var a18866;
+ var a18867;
+ var a18868;
+ var a18869;
+ var a18870;
+ var a18871;
+ var a18872;
+ var a18873;
+ var a18874;
+ var a18875;
+ var a18876;
+ var a18877;
+ var a18878;
+ var a18879;
+ var a18880;
+ var a18881;
+ var a18882;
+ var a18883;
+ var a18884;
+ var a18885;
+ var a18886;
+ var a18887;
+ var a18888;
+ var a18889;
+ var a18890;
+ var a18891;
+ var a18892;
+ var a18893;
+ var a18894;
+ var a18895;
+ var a18896;
+ var a18897;
+ var a18898;
+ var a18899;
+ var a18900;
+ var a18901;
+ var a18902;
+ var a18903;
+ var a18904;
+ var a18905;
+ var a18906;
+ var a18907;
+ var a18908;
+ var a18909;
+ var a18910;
+ var a18911;
+ var a18912;
+ var a18913;
+ var a18914;
+ var a18915;
+ var a18916;
+ var a18917;
+ var a18918;
+ var a18919;
+ var a18920;
+ var a18921;
+ var a18922;
+ var a18923;
+ var a18924;
+ var a18925;
+ var a18926;
+ var a18927;
+ var a18928;
+ var a18929;
+ var a18930;
+ var a18931;
+ var a18932;
+ var a18933;
+ var a18934;
+ var a18935;
+ var a18936;
+ var a18937;
+ var a18938;
+ var a18939;
+ var a18940;
+ var a18941;
+ var a18942;
+ var a18943;
+ var a18944;
+ var a18945;
+ var a18946;
+ var a18947;
+ var a18948;
+ var a18949;
+ var a18950;
+ var a18951;
+ var a18952;
+ var a18953;
+ var a18954;
+ var a18955;
+ var a18956;
+ var a18957;
+ var a18958;
+ var a18959;
+ var a18960;
+ var a18961;
+ var a18962;
+ var a18963;
+ var a18964;
+ var a18965;
+ var a18966;
+ var a18967;
+ var a18968;
+ var a18969;
+ var a18970;
+ var a18971;
+ var a18972;
+ var a18973;
+ var a18974;
+ var a18975;
+ var a18976;
+ var a18977;
+ var a18978;
+ var a18979;
+ var a18980;
+ var a18981;
+ var a18982;
+ var a18983;
+ var a18984;
+ var a18985;
+ var a18986;
+ var a18987;
+ var a18988;
+ var a18989;
+ var a18990;
+ var a18991;
+ var a18992;
+ var a18993;
+ var a18994;
+ var a18995;
+ var a18996;
+ var a18997;
+ var a18998;
+ var a18999;
+ var a19000;
+ var a19001;
+ var a19002;
+ var a19003;
+ var a19004;
+ var a19005;
+ var a19006;
+ var a19007;
+ var a19008;
+ var a19009;
+ var a19010;
+ var a19011;
+ var a19012;
+ var a19013;
+ var a19014;
+ var a19015;
+ var a19016;
+ var a19017;
+ var a19018;
+ var a19019;
+ var a19020;
+ var a19021;
+ var a19022;
+ var a19023;
+ var a19024;
+ var a19025;
+ var a19026;
+ var a19027;
+ var a19028;
+ var a19029;
+ var a19030;
+ var a19031;
+ var a19032;
+ var a19033;
+ var a19034;
+ var a19035;
+ var a19036;
+ var a19037;
+ var a19038;
+ var a19039;
+ var a19040;
+ var a19041;
+ var a19042;
+ var a19043;
+ var a19044;
+ var a19045;
+ var a19046;
+ var a19047;
+ var a19048;
+ var a19049;
+ var a19050;
+ var a19051;
+ var a19052;
+ var a19053;
+ var a19054;
+ var a19055;
+ var a19056;
+ var a19057;
+ var a19058;
+ var a19059;
+ var a19060;
+ var a19061;
+ var a19062;
+ var a19063;
+ var a19064;
+ var a19065;
+ var a19066;
+ var a19067;
+ var a19068;
+ var a19069;
+ var a19070;
+ var a19071;
+ var a19072;
+ var a19073;
+ var a19074;
+ var a19075;
+ var a19076;
+ var a19077;
+ var a19078;
+ var a19079;
+ var a19080;
+ var a19081;
+ var a19082;
+ var a19083;
+ var a19084;
+ var a19085;
+ var a19086;
+ var a19087;
+ var a19088;
+ var a19089;
+ var a19090;
+ var a19091;
+ var a19092;
+ var a19093;
+ var a19094;
+ var a19095;
+ var a19096;
+ var a19097;
+ var a19098;
+ var a19099;
+ var a19100;
+ var a19101;
+ var a19102;
+ var a19103;
+ var a19104;
+ var a19105;
+ var a19106;
+ var a19107;
+ var a19108;
+ var a19109;
+ var a19110;
+ var a19111;
+ var a19112;
+ var a19113;
+ var a19114;
+ var a19115;
+ var a19116;
+ var a19117;
+ var a19118;
+ var a19119;
+ var a19120;
+ var a19121;
+ var a19122;
+ var a19123;
+ var a19124;
+ var a19125;
+ var a19126;
+ var a19127;
+ var a19128;
+ var a19129;
+ var a19130;
+ var a19131;
+ var a19132;
+ var a19133;
+ var a19134;
+ var a19135;
+ var a19136;
+ var a19137;
+ var a19138;
+ var a19139;
+ var a19140;
+ var a19141;
+ var a19142;
+ var a19143;
+ var a19144;
+ var a19145;
+ var a19146;
+ var a19147;
+ var a19148;
+ var a19149;
+ var a19150;
+ var a19151;
+ var a19152;
+ var a19153;
+ var a19154;
+ var a19155;
+ var a19156;
+ var a19157;
+ var a19158;
+ var a19159;
+ var a19160;
+ var a19161;
+ var a19162;
+ var a19163;
+ var a19164;
+ var a19165;
+ var a19166;
+ var a19167;
+ var a19168;
+ var a19169;
+ var a19170;
+ var a19171;
+ var a19172;
+ var a19173;
+ var a19174;
+ var a19175;
+ var a19176;
+ var a19177;
+ var a19178;
+ var a19179;
+ var a19180;
+ var a19181;
+ var a19182;
+ var a19183;
+ var a19184;
+ var a19185;
+ var a19186;
+ var a19187;
+ var a19188;
+ var a19189;
+ var a19190;
+ var a19191;
+ var a19192;
+ var a19193;
+ var a19194;
+ var a19195;
+ var a19196;
+ var a19197;
+ var a19198;
+ var a19199;
+ var a19200;
+ var a19201;
+ var a19202;
+ var a19203;
+ var a19204;
+ var a19205;
+ var a19206;
+ var a19207;
+ var a19208;
+ var a19209;
+ var a19210;
+ var a19211;
+ var a19212;
+ var a19213;
+ var a19214;
+ var a19215;
+ var a19216;
+ var a19217;
+ var a19218;
+ var a19219;
+ var a19220;
+ var a19221;
+ var a19222;
+ var a19223;
+ var a19224;
+ var a19225;
+ var a19226;
+ var a19227;
+ var a19228;
+ var a19229;
+ var a19230;
+ var a19231;
+ var a19232;
+ var a19233;
+ var a19234;
+ var a19235;
+ var a19236;
+ var a19237;
+ var a19238;
+ var a19239;
+ var a19240;
+ var a19241;
+ var a19242;
+ var a19243;
+ var a19244;
+ var a19245;
+ var a19246;
+ var a19247;
+ var a19248;
+ var a19249;
+ var a19250;
+ var a19251;
+ var a19252;
+ var a19253;
+ var a19254;
+ var a19255;
+ var a19256;
+ var a19257;
+ var a19258;
+ var a19259;
+ var a19260;
+ var a19261;
+ var a19262;
+ var a19263;
+ var a19264;
+ var a19265;
+ var a19266;
+ var a19267;
+ var a19268;
+ var a19269;
+ var a19270;
+ var a19271;
+ var a19272;
+ var a19273;
+ var a19274;
+ var a19275;
+ var a19276;
+ var a19277;
+ var a19278;
+ var a19279;
+ var a19280;
+ var a19281;
+ var a19282;
+ var a19283;
+ var a19284;
+ var a19285;
+ var a19286;
+ var a19287;
+ var a19288;
+ var a19289;
+ var a19290;
+ var a19291;
+ var a19292;
+ var a19293;
+ var a19294;
+ var a19295;
+ var a19296;
+ var a19297;
+ var a19298;
+ var a19299;
+ var a19300;
+ var a19301;
+ var a19302;
+ var a19303;
+ var a19304;
+ var a19305;
+ var a19306;
+ var a19307;
+ var a19308;
+ var a19309;
+ var a19310;
+ var a19311;
+ var a19312;
+ var a19313;
+ var a19314;
+ var a19315;
+ var a19316;
+ var a19317;
+ var a19318;
+ var a19319;
+ var a19320;
+ var a19321;
+ var a19322;
+ var a19323;
+ var a19324;
+ var a19325;
+ var a19326;
+ var a19327;
+ var a19328;
+ var a19329;
+ var a19330;
+ var a19331;
+ var a19332;
+ var a19333;
+ var a19334;
+ var a19335;
+ var a19336;
+ var a19337;
+ var a19338;
+ var a19339;
+ var a19340;
+ var a19341;
+ var a19342;
+ var a19343;
+ var a19344;
+ var a19345;
+ var a19346;
+ var a19347;
+ var a19348;
+ var a19349;
+ var a19350;
+ var a19351;
+ var a19352;
+ var a19353;
+ var a19354;
+ var a19355;
+ var a19356;
+ var a19357;
+ var a19358;
+ var a19359;
+ var a19360;
+ var a19361;
+ var a19362;
+ var a19363;
+ var a19364;
+ var a19365;
+ var a19366;
+ var a19367;
+ var a19368;
+ var a19369;
+ var a19370;
+ var a19371;
+ var a19372;
+ var a19373;
+ var a19374;
+ var a19375;
+ var a19376;
+ var a19377;
+ var a19378;
+ var a19379;
+ var a19380;
+ var a19381;
+ var a19382;
+ var a19383;
+ var a19384;
+ var a19385;
+ var a19386;
+ var a19387;
+ var a19388;
+ var a19389;
+ var a19390;
+ var a19391;
+ var a19392;
+ var a19393;
+ var a19394;
+ var a19395;
+ var a19396;
+ var a19397;
+ var a19398;
+ var a19399;
+ var a19400;
+ var a19401;
+ var a19402;
+ var a19403;
+ var a19404;
+ var a19405;
+ var a19406;
+ var a19407;
+ var a19408;
+ var a19409;
+ var a19410;
+ var a19411;
+ var a19412;
+ var a19413;
+ var a19414;
+ var a19415;
+ var a19416;
+ var a19417;
+ var a19418;
+ var a19419;
+ var a19420;
+ var a19421;
+ var a19422;
+ var a19423;
+ var a19424;
+ var a19425;
+ var a19426;
+ var a19427;
+ var a19428;
+ var a19429;
+ var a19430;
+ var a19431;
+ var a19432;
+ var a19433;
+ var a19434;
+ var a19435;
+ var a19436;
+ var a19437;
+ var a19438;
+ var a19439;
+ var a19440;
+ var a19441;
+ var a19442;
+ var a19443;
+ var a19444;
+ var a19445;
+ var a19446;
+ var a19447;
+ var a19448;
+ var a19449;
+ var a19450;
+ var a19451;
+ var a19452;
+ var a19453;
+ var a19454;
+ var a19455;
+ var a19456;
+ var a19457;
+ var a19458;
+ var a19459;
+ var a19460;
+ var a19461;
+ var a19462;
+ var a19463;
+ var a19464;
+ var a19465;
+ var a19466;
+ var a19467;
+ var a19468;
+ var a19469;
+ var a19470;
+ var a19471;
+ var a19472;
+ var a19473;
+ var a19474;
+ var a19475;
+ var a19476;
+ var a19477;
+ var a19478;
+ var a19479;
+ var a19480;
+ var a19481;
+ var a19482;
+ var a19483;
+ var a19484;
+ var a19485;
+ var a19486;
+ var a19487;
+ var a19488;
+ var a19489;
+ var a19490;
+ var a19491;
+ var a19492;
+ var a19493;
+ var a19494;
+ var a19495;
+ var a19496;
+ var a19497;
+ var a19498;
+ var a19499;
+ var a19500;
+ var a19501;
+ var a19502;
+ var a19503;
+ var a19504;
+ var a19505;
+ var a19506;
+ var a19507;
+ var a19508;
+ var a19509;
+ var a19510;
+ var a19511;
+ var a19512;
+ var a19513;
+ var a19514;
+ var a19515;
+ var a19516;
+ var a19517;
+ var a19518;
+ var a19519;
+ var a19520;
+ var a19521;
+ var a19522;
+ var a19523;
+ var a19524;
+ var a19525;
+ var a19526;
+ var a19527;
+ var a19528;
+ var a19529;
+ var a19530;
+ var a19531;
+ var a19532;
+ var a19533;
+ var a19534;
+ var a19535;
+ var a19536;
+ var a19537;
+ var a19538;
+ var a19539;
+ var a19540;
+ var a19541;
+ var a19542;
+ var a19543;
+ var a19544;
+ var a19545;
+ var a19546;
+ var a19547;
+ var a19548;
+ var a19549;
+ var a19550;
+ var a19551;
+ var a19552;
+ var a19553;
+ var a19554;
+ var a19555;
+ var a19556;
+ var a19557;
+ var a19558;
+ var a19559;
+ var a19560;
+ var a19561;
+ var a19562;
+ var a19563;
+ var a19564;
+ var a19565;
+ var a19566;
+ var a19567;
+ var a19568;
+ var a19569;
+ var a19570;
+ var a19571;
+ var a19572;
+ var a19573;
+ var a19574;
+ var a19575;
+ var a19576;
+ var a19577;
+ var a19578;
+ var a19579;
+ var a19580;
+ var a19581;
+ var a19582;
+ var a19583;
+ var a19584;
+ var a19585;
+ var a19586;
+ var a19587;
+ var a19588;
+ var a19589;
+ var a19590;
+ var a19591;
+ var a19592;
+ var a19593;
+ var a19594;
+ var a19595;
+ var a19596;
+ var a19597;
+ var a19598;
+ var a19599;
+ var a19600;
+ var a19601;
+ var a19602;
+ var a19603;
+ var a19604;
+ var a19605;
+ var a19606;
+ var a19607;
+ var a19608;
+ var a19609;
+ var a19610;
+ var a19611;
+ var a19612;
+ var a19613;
+ var a19614;
+ var a19615;
+ var a19616;
+ var a19617;
+ var a19618;
+ var a19619;
+ var a19620;
+ var a19621;
+ var a19622;
+ var a19623;
+ var a19624;
+ var a19625;
+ var a19626;
+ var a19627;
+ var a19628;
+ var a19629;
+ var a19630;
+ var a19631;
+ var a19632;
+ var a19633;
+ var a19634;
+ var a19635;
+ var a19636;
+ var a19637;
+ var a19638;
+ var a19639;
+ var a19640;
+ var a19641;
+ var a19642;
+ var a19643;
+ var a19644;
+ var a19645;
+ var a19646;
+ var a19647;
+ var a19648;
+ var a19649;
+ var a19650;
+ var a19651;
+ var a19652;
+ var a19653;
+ var a19654;
+ var a19655;
+ var a19656;
+ var a19657;
+ var a19658;
+ var a19659;
+ var a19660;
+ var a19661;
+ var a19662;
+ var a19663;
+ var a19664;
+ var a19665;
+ var a19666;
+ var a19667;
+ var a19668;
+ var a19669;
+ var a19670;
+ var a19671;
+ var a19672;
+ var a19673;
+ var a19674;
+ var a19675;
+ var a19676;
+ var a19677;
+ var a19678;
+ var a19679;
+ var a19680;
+ var a19681;
+ var a19682;
+ var a19683;
+ var a19684;
+ var a19685;
+ var a19686;
+ var a19687;
+ var a19688;
+ var a19689;
+ var a19690;
+ var a19691;
+ var a19692;
+ var a19693;
+ var a19694;
+ var a19695;
+ var a19696;
+ var a19697;
+ var a19698;
+ var a19699;
+ var a19700;
+ var a19701;
+ var a19702;
+ var a19703;
+ var a19704;
+ var a19705;
+ var a19706;
+ var a19707;
+ var a19708;
+ var a19709;
+ var a19710;
+ var a19711;
+ var a19712;
+ var a19713;
+ var a19714;
+ var a19715;
+ var a19716;
+ var a19717;
+ var a19718;
+ var a19719;
+ var a19720;
+ var a19721;
+ var a19722;
+ var a19723;
+ var a19724;
+ var a19725;
+ var a19726;
+ var a19727;
+ var a19728;
+ var a19729;
+ var a19730;
+ var a19731;
+ var a19732;
+ var a19733;
+ var a19734;
+ var a19735;
+ var a19736;
+ var a19737;
+ var a19738;
+ var a19739;
+ var a19740;
+ var a19741;
+ var a19742;
+ var a19743;
+ var a19744;
+ var a19745;
+ var a19746;
+ var a19747;
+ var a19748;
+ var a19749;
+ var a19750;
+ var a19751;
+ var a19752;
+ var a19753;
+ var a19754;
+ var a19755;
+ var a19756;
+ var a19757;
+ var a19758;
+ var a19759;
+ var a19760;
+ var a19761;
+ var a19762;
+ var a19763;
+ var a19764;
+ var a19765;
+ var a19766;
+ var a19767;
+ var a19768;
+ var a19769;
+ var a19770;
+ var a19771;
+ var a19772;
+ var a19773;
+ var a19774;
+ var a19775;
+ var a19776;
+ var a19777;
+ var a19778;
+ var a19779;
+ var a19780;
+ var a19781;
+ var a19782;
+ var a19783;
+ var a19784;
+ var a19785;
+ var a19786;
+ var a19787;
+ var a19788;
+ var a19789;
+ var a19790;
+ var a19791;
+ var a19792;
+ var a19793;
+ var a19794;
+ var a19795;
+ var a19796;
+ var a19797;
+ var a19798;
+ var a19799;
+ var a19800;
+ var a19801;
+ var a19802;
+ var a19803;
+ var a19804;
+ var a19805;
+ var a19806;
+ var a19807;
+ var a19808;
+ var a19809;
+ var a19810;
+ var a19811;
+ var a19812;
+ var a19813;
+ var a19814;
+ var a19815;
+ var a19816;
+ var a19817;
+ var a19818;
+ var a19819;
+ var a19820;
+ var a19821;
+ var a19822;
+ var a19823;
+ var a19824;
+ var a19825;
+ var a19826;
+ var a19827;
+ var a19828;
+ var a19829;
+ var a19830;
+ var a19831;
+ var a19832;
+ var a19833;
+ var a19834;
+ var a19835;
+ var a19836;
+ var a19837;
+ var a19838;
+ var a19839;
+ var a19840;
+ var a19841;
+ var a19842;
+ var a19843;
+ var a19844;
+ var a19845;
+ var a19846;
+ var a19847;
+ var a19848;
+ var a19849;
+ var a19850;
+ var a19851;
+ var a19852;
+ var a19853;
+ var a19854;
+ var a19855;
+ var a19856;
+ var a19857;
+ var a19858;
+ var a19859;
+ var a19860;
+ var a19861;
+ var a19862;
+ var a19863;
+ var a19864;
+ var a19865;
+ var a19866;
+ var a19867;
+ var a19868;
+ var a19869;
+ var a19870;
+ var a19871;
+ var a19872;
+ var a19873;
+ var a19874;
+ var a19875;
+ var a19876;
+ var a19877;
+ var a19878;
+ var a19879;
+ var a19880;
+ var a19881;
+ var a19882;
+ var a19883;
+ var a19884;
+ var a19885;
+ var a19886;
+ var a19887;
+ var a19888;
+ var a19889;
+ var a19890;
+ var a19891;
+ var a19892;
+ var a19893;
+ var a19894;
+ var a19895;
+ var a19896;
+ var a19897;
+ var a19898;
+ var a19899;
+ var a19900;
+ var a19901;
+ var a19902;
+ var a19903;
+ var a19904;
+ var a19905;
+ var a19906;
+ var a19907;
+ var a19908;
+ var a19909;
+ var a19910;
+ var a19911;
+ var a19912;
+ var a19913;
+ var a19914;
+ var a19915;
+ var a19916;
+ var a19917;
+ var a19918;
+ var a19919;
+ var a19920;
+ var a19921;
+ var a19922;
+ var a19923;
+ var a19924;
+ var a19925;
+ var a19926;
+ var a19927;
+ var a19928;
+ var a19929;
+ var a19930;
+ var a19931;
+ var a19932;
+ var a19933;
+ var a19934;
+ var a19935;
+ var a19936;
+ var a19937;
+ var a19938;
+ var a19939;
+ var a19940;
+ var a19941;
+ var a19942;
+ var a19943;
+ var a19944;
+ var a19945;
+ var a19946;
+ var a19947;
+ var a19948;
+ var a19949;
+ var a19950;
+ var a19951;
+ var a19952;
+ var a19953;
+ var a19954;
+ var a19955;
+ var a19956;
+ var a19957;
+ var a19958;
+ var a19959;
+ var a19960;
+ var a19961;
+ var a19962;
+ var a19963;
+ var a19964;
+ var a19965;
+ var a19966;
+ var a19967;
+ var a19968;
+ var a19969;
+ var a19970;
+ var a19971;
+ var a19972;
+ var a19973;
+ var a19974;
+ var a19975;
+ var a19976;
+ var a19977;
+ var a19978;
+ var a19979;
+ var a19980;
+ var a19981;
+ var a19982;
+ var a19983;
+ var a19984;
+ var a19985;
+ var a19986;
+ var a19987;
+ var a19988;
+ var a19989;
+ var a19990;
+ var a19991;
+ var a19992;
+ var a19993;
+ var a19994;
+ var a19995;
+ var a19996;
+ var a19997;
+ var a19998;
+ var a19999;
+ var a20000;
+}
+
+main() {
+ var a = new A();
+ a.a20000 = 42;
+ Expect.equals(42, a.a20000);
+}
diff --git a/tests/language/class/literal_static_test.dart b/tests/language/class/literal_static_test.dart
new file mode 100644
index 0000000..27b6149
--- /dev/null
+++ b/tests/language/class/literal_static_test.dart
@@ -0,0 +1,42 @@
+// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+// Test class literal expressions.
+
+class Class {
+ static fisk() => 42;
+}
+
+foo(x) {}
+
+main() {
+ // Verify that dereferencing a class literal is a compile-time error.
+ Class();
+ Class[0]; //# 02: compile-time error
+ var x = Class();
+ var y = Class[0]; //# 04: compile-time error
+ var z = Class[0].field; //# 05: compile-time error
+ var w = Class[0].method(); //# 06: compile-time error
+ foo(Class());
+ foo(Class[0]); //# 08: compile-time error
+ foo(Class[0].field); //# 09: compile-time error
+ foo(Class[0].method()); //# 10: compile-time error
+ Class[0] = 91; //# 11: compile-time error
+ Class++; //# 12: compile-time error
+ ++Class; //# 13: compile-time error
+ Class[0] += 3; //# 14: compile-time error
+ ++Class[0]; //# 15: compile-time error
+ Class[0]++; //# 16: compile-time error
+ Class.method(); //# 17: compile-time error
+ Class.field; //# 18: compile-time error
+ var p = Class.method(); //# 19: compile-time error
+ var q = Class.field; //# 20: compile-time error
+ foo(Class.method()); //# 21: compile-time error
+ foo(Class.field); //# 22: compile-time error
+ Class / 3; //# 23: compile-time error
+ Class += 3; //# 24: compile-time error
+ Class.toString(); //# 25: compile-time error
+}
diff --git a/tests/language/class/literal_test.dart b/tests/language/class/literal_test.dart
new file mode 100644
index 0000000..5b1c12a
--- /dev/null
+++ b/tests/language/class/literal_test.dart
@@ -0,0 +1,61 @@
+// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+// Test class literal expressions.
+
+class Class {
+ static fisk() => 42;
+}
+
+foo(x) {}
+
+main() {
+ Expect.equals(42, Class.fisk());
+ Expect.equals(null, foo(Class.fisk()));
+
+ // Verify references to a class literal are allowed.
+ Class;
+ dynamic x = Class;
+ foo(Class);
+ Expect.isFalse(Class == null);
+
+ // Verify that dereferencing a class literal is a compile-time error if it
+ // isn't used as a constructor.
+ Class();
+ Class[0]; //# 02: compile-time error
+ x = Class();
+ x = Class[0]; //# 04: compile-time error
+ x = Class[0].field; //# 05: compile-time error
+ x = Class[0].method(); //# 06: compile-time error
+ foo(Class());
+ foo(Class[0]); //# 08: compile-time error
+ foo(Class[0].field); //# 09: compile-time error
+ foo(Class[0].method()); //# 10: compile-time error
+ Class[0] = 91; //# 11: compile-time error
+ Class++; //# 12: compile-time error
+ ++Class; //# 13: compile-time error
+ Class[0] += 3; //# 14: compile-time error
+ ++Class[0]; //# 15: compile-time error
+ Class[0]++; //# 16: compile-time error
+ Class.method(); //# 17: compile-time error
+ Class.field; //# 18: compile-time error
+ x = Class.method(); //# 19: compile-time error
+ x = Class.field; //# 20: compile-time error
+ foo(Class.method()); //# 21: compile-time error
+ foo(Class.field); //# 22: compile-time error
+ Class / 3; //# 23: compile-time error
+ Class += 3; //# 24: compile-time error
+
+ // Verify that a class literal isn't a string literal.
+ Expect.notEquals(Class, "Class");
+
+ // Verify toString() works for class literals.
+ Expect.isTrue((Class).toString() is String);
+ var y = Class;
+ Expect.isTrue(y.toString() is String);
+
+ Class.toString(); //# 25: compile-time error
+}
diff --git a/tests/language/class/multiple_interface_inheritance_test.dart b/tests/language/class/multiple_interface_inheritance_test.dart
new file mode 100644
index 0000000..137814c
--- /dev/null
+++ b/tests/language/class/multiple_interface_inheritance_test.dart
@@ -0,0 +1,36 @@
+// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+abstract class I1 {
+ void f(int i);
+}
+
+abstract class I2 {
+ void f(Object o);
+}
+
+abstract class C implements I1, I2 {}
+
+class D extends C {
+ void f(Object o) {}
+}
+
+abstract class E implements I2, I1 {}
+
+class F extends E {
+ void f(Object o) {}
+}
+
+void g1(C c) {
+ c.f('hi');
+}
+
+void g2(E e) {
+ e.f('hi');
+}
+
+main() {
+ g1(new D());
+ g2(new F());
+}
diff --git a/tests/language/class/override_test.dart b/tests/language/class/override_test.dart
new file mode 100644
index 0000000..41ec7ad
--- /dev/null
+++ b/tests/language/class/override_test.dart
@@ -0,0 +1,18 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// It is a static compile time error if a method m1 overrides a method m2 and has a
+// different number of required parameters.
+
+class A {
+ foo() {}
+}
+
+class B extends A {
+ /*@compile-error=unspecified*/ foo(a) {}
+}
+
+main() {
+ new B().foo(42);
+}
diff --git a/tests/language/class/recursive_inheritance_test.dart b/tests/language/class/recursive_inheritance_test.dart
new file mode 100644
index 0000000..061a84d
--- /dev/null
+++ b/tests/language/class/recursive_inheritance_test.dart
@@ -0,0 +1,30 @@
+// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+// Regression test for recursive inheritance patterns
+abstract class Comparable<T> {
+ int compareTo(T a);
+}
+
+class MI<T extends MI<T>> {}
+
+class _MI extends MI<_MI> {}
+
+class PMI<T extends Comparable<T>> extends MI<PMI<T>> {}
+
+class _PMI extends PMI<_PMI> implements Comparable<_PMI> {
+ int compareTo(_PMI other) => throw new UnimplementedError();
+}
+
+void main() {
+ MI a = new MI<_MI>();
+ PMI b = new PMI<_PMI>();
+ a = b;
+ Expect.isTrue(a is MI);
+ Expect.isTrue(b is PMI);
+ Expect.isTrue(b is MI);
+ Expect.isTrue(b is MI<PMI>);
+}
diff --git a/tests/language/class/syntax2_test.dart b/tests/language/class/syntax2_test.dart
new file mode 100644
index 0000000..e884c23
--- /dev/null
+++ b/tests/language/class/syntax2_test.dart
@@ -0,0 +1,28 @@
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Regression test for dart2js bug http://dartbug.com/11570.
+
+import 'package:expect/expect.dart';
+
+void main() {
+ var c = new Cool(true);
+ Expect.stringEquals('{}', '${c.thing}');
+
+ c = new Cool(false);
+ Expect.stringEquals('[]', '${c.thing}');
+
+ c = new Cool.alt(true);
+ Expect.stringEquals('{}', '${c.thing}');
+
+ c = new Cool.alt(false);
+ Expect.stringEquals('[]', '${c.thing}');
+}
+
+class Cool {
+ final thing;
+
+ Cool(bool option) : thing = option ? <String, String>{} : <String>[];
+ Cool.alt(bool option) : thing = !option ? <String>[] : <String, String>{};
+}
diff --git a/tests/language/class/syntax_test.dart b/tests/language/class/syntax_test.dart
new file mode 100644
index 0000000..e5a2e9b
--- /dev/null
+++ b/tests/language/class/syntax_test.dart
@@ -0,0 +1,12 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+main() {
+ new ClassSyntaxTest();
+}
+
+class ClassSyntaxTest {
+ /* //# 01: syntax error
+}
+*/ //# 01: continued
diff --git a/tests/language/class/variable_shadow_class_runtime_test.dart b/tests/language/class/variable_shadow_class_runtime_test.dart
new file mode 100644
index 0000000..0c7d951
--- /dev/null
+++ b/tests/language/class/variable_shadow_class_runtime_test.dart
@@ -0,0 +1,29 @@
+// TODO(multitest): This was automatically migrated from a multitest and may
+// contain strange or dead code.
+
+// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+import "package:expect/expect.dart";
+
+// Local variables can shadow class names.
+
+class Test {
+ final int field;
+ Test.named(this.field);
+}
+
+main() {
+ {
+
+ // Now this refers to the variable.
+ var i = new Test.named(10);
+ Expect.equals(10, i.field);
+ }
+
+ {
+ // Shadowing is allowed.
+ var Test = 1;
+ Expect.equals(2, Test + 1);
+ }
+}
diff --git a/tests/language/class/variable_shadow_class_test.dart b/tests/language/class/variable_shadow_class_test.dart
new file mode 100644
index 0000000..d82fef7
--- /dev/null
+++ b/tests/language/class/variable_shadow_class_test.dart
@@ -0,0 +1,29 @@
+// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+import "package:expect/expect.dart";
+
+// Local variables can shadow class names.
+
+class Test {
+ final int field;
+ Test.named(this.field);
+}
+
+main() {
+ {
+ var Test;
+ // Now this refers to the variable.
+ var i = new Test.named(10);
+ // ^^^^
+ // [analyzer] STATIC_WARNING.NEW_WITH_NON_TYPE
+ // [cfe] Method not found: 'Test.named'.
+ Expect.equals(10, i.field);
+ }
+
+ {
+ // Shadowing is allowed.
+ var Test = 1;
+ Expect.equals(2, Test + 1);
+ }
+}
diff --git a/tools/VERSION b/tools/VERSION
index b10d3a2..41b44a4 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -33,7 +33,7 @@
MAJOR 2
MINOR 8
PATCH 0
-PRERELEASE 19
+PRERELEASE 20
PRERELEASE_PATCH 0
ABI_VERSION 32
OLDEST_SUPPORTED_ABI_VERSION 32
diff --git a/tools/bots/linux_distribution_support.py b/tools/bots/linux_distribution_support.py
index 9f2bb04..8b51f9a 100644
--- a/tools/bots/linux_distribution_support.py
+++ b/tools/bots/linux_distribution_support.py
@@ -101,7 +101,7 @@
sys.exit(1)
if not "jessie" in stdout:
print "Trying to build debian bits but not on debian Jessie"
- print "You can't fix this, please contact whesse@"
+ print "You can't fix this, please contact dart-engprod@"
sys.exit(1)
with bot.BuildStep('Create src tarball'):
diff --git a/utils/compiler/BUILD.gn b/utils/compiler/BUILD.gn
index 8ad05ee..cfaa8d9 100644
--- a/utils/compiler/BUILD.gn
+++ b/utils/compiler/BUILD.gn
@@ -87,6 +87,7 @@
args = [
"--target=dart2js",
+ "--no-defines",
"dart:core",
]
@@ -107,6 +108,7 @@
args = [
"--target=dart2js_server",
+ "--no-defines",
"dart:core",
]